用webwork验证时老发生错误,提示Content is not allowed in prolog,由于是解析xml文件出错,找到相应的文件一看,发现开头有几行汉字说明忘注释掉了,我把它们注释掉,问题得到解决,由于以前没遇到这种问题,于是到网上找到如下资料:
DOM4j 读取xml文件可能会抱错:Content is not allowed in prolog异常的原因
该xml是UTF-8编码的,如果该文件通过Ultraedit编辑后,会在无BOM头的UTF-8文件中加入BOM,但是DOM4j不认这个BOM(dom4j1.3),解决的办法可以通过升级dom4j到1.6解决www.dom4j.org
什么是BOM?http://www.unicode.org/faq/utf_bom.html#22
Unicode规范中有一个BOM的概念。BOM——Byte Order Mark,就是字节序标记。在这里找到一段关于BOM的说明:
在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文件的编码方式的。
另外unicode网站的FAQ-BOM详细介绍了BOM。官方的自然权威,不过是英文的,看起来比较费劲。
分享到:
相关推荐
Download from your IP address is not allowed 百度网盘永久连接: QT下载: qt-opensource-linux-x64-5.8.0.run: 链接:https://pan.baidu.com/s/1sQ3tqPaWdDnmhBYAc_XR7g qt-opensource-linux-x64-5.13.1....
设置隐试打开PPT报错 Hiding the application window is not allowed
NULL 博文链接:https://rayoo.iteye.com/blog/1973032
在Android开发中,XML文件扮演着非常重要的角色,特别是在定义界面布局、样式、动画等方面。为了帮助开发者更好地理解Android中的各种XML属性及其用途,本文将详细介绍部分核心XML元素及其属性,包括但不限于`...
Host 主机名 is not allowed to connect the mysql server 原因:没有授权远程访问mysql 解决方法: cmd 中运行mysql -u root -p(如果报mysql 不是内部或外部命令,找到安装mysql对应的bin文件夹运行mysql.exe,...
import cycle not allowed(解决方案).md
4. Note that these files are not removed when Diskeeper is uninstalled: Productname.msi (for example, Diskeeper 2008 Server.msi) DKDesktopShortcut_A4ED7F98B2A54A06855C7E8804E8460E.exe These ...
在使用MySQL数据库时,可能会遇到"Host 'localhost' is not allowed to connect to this MySQL server"的错误信息,这是由于MySQL的安全机制所致。MySQL的安全机制是基于主机名和用户名的组合来控制访问权限的。因此...
本文将详细介绍在使用curl访问特定域名时遇到405 Method Not Allowed错误的解决方法。首先,我们先来理解什么是405错误以及其背后可能的原因。 HTTP状态码405 Method Not Allowed表示客户端请求的HTTP方法不被...
jmeter源码 log4j2.xml
Android WebView 报 Not allowed to load local resource错误的解决办法 博客地址:http://blog.csdn.net/yuzhiqiang_1993/article/details/76228541
NR5G 网络拒绝码 - 5gmm_cause = 7 (0x7) (5GS Service not allowed) 本资源摘要信息将详细解释 NR5G 网络拒绝码 5gmm_cause = 7 (0x7) (5GS Service not allowed),并对相关知识点进行详细说明。 一、NR5G 网络...
document.write is not allowed in a script tag(解决方案).md
document.write is not allowed in a link tag(解决方案).md
document.write is not allowed in a style tag(解决方案).md
- 如果函数定义在另一个文件中,需要在当前文件中通过`extern`关键字声明该函数,并且确保该文件被正确地链接到项目中。 #### 八、WARNING 1 & WARNING 2: UNRESOLVED EXTERNAL SYMBOL **问题描述**:警告信息...
标题中的"NR5G网络拒绝码-5gmm_cause = 27 (0x1b) (N1 mode not allowed)"是指5G NR(New Radio)网络在服务请求或去注册请求过程中遇到的一种特定错误情况。这个拒绝码是5G移动管理(5GMM)中的一个原因值,用来...
nginx: [emerg] “proxy_cache_path” directive is not allowed here in /etc/nginx/conf.d/default.conf:29 提示意思“proxy_cache_path指令不被允许”,在官网上查找了相关说明,也没有发现问题,最后看应用范围...