Content is not allowed in prolog异常产生原因及处理方式
来源:互联网 发布:网络高科技股 编辑:程序博客网 时间:2024/05/21 09:59
web项目在启动的时候报Content is not allowed in prolog错误,后经检查发现是web项目在使用dom4j/sax 读取一个xml文件时报错。
原因如下:
BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。
微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软暗自作的标记, 其它平台上并没有对UTF-8文本文件做个这样的标记。
由于windows平台把utf-8 格式的文件在前边加了 EF BB BF三个字节 ,而dom4j 不认这些!所以可以使用ue或Notepad++打开xml 文件,另存为"utf-8 无bom" 替换项目中的文件,重新编译一下问题解决。
原因如下:
BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。
微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软暗自作的标记, 其它平台上并没有对UTF-8文本文件做个这样的标记。
由于windows平台把utf-8 格式的文件在前边加了 EF BB BF三个字节 ,而dom4j 不认这些!所以可以使用ue或Notepad++打开xml 文件,另存为"utf-8 无bom" 替换项目中的文件,重新编译一下问题解决。
阅读全文
0 0
- Content is not allowed in prolog异常产生原因及处理方式
- Content is not allowed in prolog异常产生原因及处理方式
- ibatis的sqlmap.xml 报错:Content is not allowed in prolog异常的原因
- Content is not allowed in prolog
- Content is not allowed in prolog.解决方法
- DOM4j:Content is not allowed in prolog
- Content is not allowed in prolog.
- Content is not allowed in prolog.解决
- Content is not allowed in prolog
- SAXParseException: Content is not allowed in prolog
- Content is not allowed in prolog.错误
- Error:Content is not allowed in prolog.
- Content is not allowed in prolog. Nested exception: Content is not allowed in prolog
- weblogic对xml中BOM处理异常——org.xml.sax.SAXParseException:Content is not allowed in prolog
- Ehcache配置遇到Content is not allowed in prolog异常的解决办法
- Exception: Content is not allowed in prolog-搜集
- org.xml.sax.SAXParseException: Content is not allowed in prolog.
- Xml解析Exception:Content is not allowed in prolog
- OpenCV——Opencv彩色图像在matplot中显示问题的解决
- boa移植
- Linux五种IO模型性能分析
- git的引用和tag
- 嵌入式Linux开发教程:Linux常见命令(上篇)
- Content is not allowed in prolog异常产生原因及处理方式
- git(十四)-git cherry-pick
- git的分支与合并
- HDOJ 3665 Seaside(dijkstra最短路,水题~)
- 使用springMVC注解@ResponseBody与jackson工具类在ajax请求中实现对象与json之间的相互转化
- Java 数据类型在实际开发中应用二枚举
- SSHPASS 源码分析
- 关于对SSH隧道SSH Tunnel命令参数的理解
- 1012. The Best Rank (25)