养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

文件编码导致的MalformedInputException异常

时间:2024-09-30 19:30:05

如果你没有使用ibm擢爻充种的jdk,却依然遇到了这个问题。

如果你的异常是在解析xml的时候出禊耗髻编现的,如果你的异常是某些地方有某些地方没有。

例如tomcat里面没有,weblogic上有。抑或这个domain有那个domain却没有。而确实是同一个应用。

哪么你遇到的可能和笔者要讲的是同一个问题。

你的xml文件本身是UTF-8编码(注意是文件是UTF-8编码,不是xml文件里面指定的文件内容是UTF-8编码)?

你的xml文件里面含有中文?

你使用UltraEdit编辑xml文件?

删掉中文,问题依旧?

那么可以肯定你的问题就是笔者要讲的问题

首先给出解决方案:方案一:

1.xml用记事本打开,删除里面的中文。

2.在windows本地新建一个txt文件,用记事本(注意不能用UltraEdit)打开。

3.将xml里面的内容复制到新建的txt文件中。

4.将txt文件重名为xml文件的名称。覆盖原来的xml文件。

5.看看问题是不是解决了,咔咔神奇吧。

方案二:(适用于使用eclipseide的程序员们,其他的能更改文件编码的程序也行,不过没测试过)

1.将xml文件的内容剪切出来,保存在别处,什么文件都行,最后是txt中。留下一个空的xml文件。

2.将空的xml文件的编码修改成GBK。注意是文件的编码,不是xml的那个声明。当然这里已经删了。

3.这时候是否看到文件的头部有乱码?删之!

4.将原来文件的内容烤回来。

5.ok问题解决,这种方法不用删除中文。

问题的根源:估计有些人已经明白是什么原因了。呵呵,那就是xml文件那个BOM的头导致的这个问题!

哦?还有没明白的?下面详细说明下:

xml文件分为两种,一种是有BOM信息的,它表示文件是xml格式

另外还有没有BOM信息的xml文件。

就是这个特殊的BOM信息导致了解析xml出错。

那跟UltraEdit有什么关系?UltraEdit在编辑xml文件的时候会自动加上这个可恶的BOM信息。

© 一点知识