欢迎来到天天文库
浏览记录
ID:15408285
大小:736.50 KB
页数:6页
时间:2018-08-03
《使用beyond compare合并含中文的xml文件造成乱码的问题总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、现象描述:近日发现在使用BeyondCompare对比合并含中文的UTF-8格式XML文件时,会造成中文变乱码的情况。如下图,左右文件均为UTF-8格式的XML配置文件,右侧文件新增内容中含有中文注释:此时选择将右侧新增内容复制到左侧,并保存左侧文件:在BeyondCompare中显示是没问题的,但如果用UltraEdit或记事本打开左侧文件,发现中文全部变成了乱码:问题分析:造成这个问题的原因是BeyondCompare默认文件编码为ANSI,这种编码在保存纯英文文件时没问题,一旦存在中文就会因为编码不同造成乱码。解决方法:这个问题可
2、以通过修改BeyondCompare文件编辑规则解决。首先,任意选择两个XML文件到BeyondCompare中进行比较的文件进行比较,然后点击菜单栏中的“工具”->“编辑规则”,如下图。注意:如果直接打开BeyondCompare是没有这个菜单项的,只能通过这种方式打开才有。会弹出文件比较规则设置对话框,当前XML类型文件的字符集默认是ANSI:我们经常进行对比合并的XML文件都是UTF-8格式的,所以可以设置字符集为UTF-8,则以后合并的XML文件均以UTF-8格式保存:这样进行文件合并后保存的文件就不会出现乱码了:注意:只有文件
3、本身的格式为UTF-8的文件需要设置字符集为UTF-8,其它文件比如java、jsp等不需要设置。BeyondCompare预置了多种文件类型的编辑规则,如果我们要编辑的文件类型不在这里面而又需要特殊设置,可以通过“添加比较规则”的方式定义新规则:设置好“名称”、“关联格式”、“字符集”等信息,以后再编辑指定格式的文件时会自动调用该规则打开和保存文件。规避措施:1)UTF-8格式的XML文件中建议尽量采用英文注释,可以避免很多类似问题;2)在有条件的情况下建议使用eclipse的CVS插件进行提交操作,一方面它能够有效避免文件编码和漏提
4、等问题,另一方面和WinCVS、TortoiseCVS的相比它的CompareWith和Update功能更为强大易用。CVS是大家都在使用的系统,文件数量多,提交频繁,又有大量的相互引用,提交文件出现问题是无法完全避免的。但是及时发现问题,采取有效措施避免问题扩散则是完全可以做到的,这就是我们一直在反复要求的:上传完以后一定要重新下载测试!
此文档下载收益归作者所有