- 在Tomcat启动中,Ehcache解析XML时抛出异常cause was Invalid byte 1 of 1-byte UTF-8 sequence
总结:
- XML为UTF-8格式:xml打开另存的时候把字符集改为UTF-8后保存(消除异常 cause was Invalid byte 1 of 1-byte UTF-8 sequence )
- 无中文注释(消除异常 Initial cause was Content is not allowed in prolog )
参考资料
- 抛出异常cause was Invalid byte 1 of 1-byte UTF-8 sequence http://blog.sina.com.cn/s/blog_815b7fb90100y8rz.htm
知识:
- BOM —— Byte Order Mark,中文名译作“字节顺序标记”。
- UTF-8与UTF-8无BOM的区别 http://blog.tcreator.net/?p=285
摘要:
windows记事本的UTF-8是有BOM的
"ZERO WIDTH NO-BREAK SPACE"又被称作BOM UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
解决的办法嘛,如果只包含英文字符(或者说ASCII编码内的字符),就把文件存成ASCII码方式吧。用UE等编辑器的话,点文件->转换->UTF-8转ASCII,或者在另存为里选择ASCII编码。如果是DOS格式的行尾符,可以用记事本打开,点另存为,选ASCII编码。如果包含中文字符的话,可以用UE的另存为功能,选择“UTF-8 无 BOM”即可。