原文链接:http://tjmljw.iteye.com/blog/1500370

启动tomcat失败,控制台一闪而过,打开catalina的log发现错误指向了conf/server.xml,报错信息如下:
--------------------------

05-Dec-2016 20:17:01.903 WARNING [main] org.apache.catalina.startup.Catalina.load Catalina.start using conf/server.xml:
 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。
...

...

--------------------------

想起昨天下班前的确是修改了这个文件,遂比较了一下本件的历史版本,发现可疑之处在于追加的中文注释,删除之,问题解决。

上述问题是解决了,但是有没有办法让它支持中文呢,接下来试着把xml头定义中的encoding="utf-8"改成了encoding="gbk",然后再次加入中文注释,启动tomcat成功,应用也可以正常访问。

又有了一个新的疑问,utf-8不支持中文么?答案当然是支持的,为什么encoding="utf-8"的时候会出错,原因在于xml头指定了使用utf8来解释这个文档内容,但是当我使用编辑器编辑这个文档的时候,输入的中文却不是utf8编码(而是ANSI编码),这样自然会出错。解决起来也很容易,使用记事本打开xml文件,输入中文注释,然后选择另存为,在弹出的对话框中选择utf-8编码。或者使用editplus,ultraedit等编辑器打开xml文件,在相关的菜单中修改文件的编码为utf-8格式,然后保存,这样

就可以正常使用中文注释了。

总结,xml头定义中的encoding与xml文件自身的编码不一致会导致文件解释异常。

最新文章

  1. RECONFIGURE语句会清空计划缓存么?
  2. 【转】ubuntu 配置 java jdk1.8 环境,增加多版本 jdk 和切换方法
  3. Cloneable接口和Object的clone()方法
  4. 如何利用tomcat搭建一个动态服务器
  5. Hibernate-二级缓存策略
  6. FZU2215 Simple Polynomial Problem(中缀表达求值)
  7. WCF、Web API、WCF REST、Web Service的区别
  8. php五种常用的设计模式
  9. Oracle-4 - :超级适合初学者的入门级笔记:plsql,基本语法,记录类型,循环,游标,异常处理,存储过程,存储函数,触发器
  10. 超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)
  11. loadrunner场景之集合点设置技巧
  12. Linux:Fedora系统的安装
  13. 征服诱人的Vagrant!
  14. 获取Oracle过程中的OUT SYS_REFCURSOR值
  15. 浅谈react的初步试用
  16. kubernetes集群搭建(1):环境准备
  17. Python : locals and globals
  18. GridView Print and Print Preview
  19. 学习笔记之.NET Core
  20. iOS绘图事务的运行验证

热门文章

  1. [LeetCode] Number of Boomerangs 回旋镖的数量
  2. [LeetCode] Single Number III 单独的数字之三
  3. visual studio for mac的安装初体验
  4. 【Git】关于VSCode 内置Git问题
  5. C#中两个Form窗口之间的传值(父->子)(子->父)
  6. 在html中添加script脚本的方法和注意事项
  7. jQuery的页面载入
  8. jquery-读取form表单中的所有数据列表
  9. 分享一种容易理解的js去重排序方法
  10. 练习JavaScript实现梯形乘法表