可恨的小聪明
转载
我很烦这些自以为是的小聪明,完全是在添乱,而且这样的事情居然发生的 UltraEdit 上。编辑一个实际是 GB2312 编码的 .xml 文本文件,但是这个 xml 的文件头写错了
[quote]
<?xml version="1.0" encoding="UTF-8" ?>
[/quote]
结果 UltraEdit 居然很“智能”的读取了这个 xml 头,然后我看到的文件格式就成了 U8-DOS,当然,里面的文字都是乱码。当我使用 HEX 模式查看的时候,显示的也是标准的 UTF-8,连 FF FE 的 BOM 都有,我还以为这是文件本身没经过改写前的真实内容,于是越搞越迷惑,后来偶然把 encoding="UTF-8" 改成 encoding="GB2312"(用的 notepad,它没有那份很高级的自作聪明),于是一切都正常了。混蛋,我可以在配置里选择是否自动更正关键词,却无法禁止他是否在读文件的看有没有 XML 头来判断文件编码,就这还号称什么 HEX 编辑器。
另外在解决一些乱码问题时很吃力,只能选择保存时的编码,却无法规定强制以某种编码方式来读取文件,不然有些问题就简单的多了。
另另外这个软件到现在还没解决编辑多字节编码文件时的错位问题。
外加一扩展阅读,[url=http://blog.csdn.net/fmddlmyy/archive/2005/05/04/372148.aspx]谈谈Unicode编码,简要解释 UCS、UTF、BMP、BOM 等名词[/url],不知道这位 fmddlmyy 是否是原作者。真的应该在文章里声明一下,因为这篇文章[url=http://www.google.com/search?q=%E8%B0%88%E8%B0%88Unicode%E7%BC%96%E7%A0%81]被转载[/url]次数还真叫一个多。