这几天看了看 Ajax 的基础知识,在练习一个简单的 请求和响应时,PHP 返回来的数据 在 IE 中开头总显示 一个 “锘” 字!上网 Baidu 了一下,发现这是由于 系统 处理 UTF-8 的方法不同而导致的。
php 返回的 UTF-8 数据 开头自动加了 标志,是对于 UTF-8的标识。对于 javascript 来说,不会在意这个标识,依然当作数据来读,所以就会出现 这个经典的 “锘”乱码。
如果使用 windows 记事本 保存的 UTF-8 格式。使用UltraEdit编辑器,打开高级>配置>Unicode/utf-8 检测,把自动检测UTF-8文件,自动检测没有BOM的Unicode文件等前面的勾全去掉,然后你再打开那个文件,就会发觉“锘 ”这个字符出现了。
使用 Encoding.UTF8 是自动带 三 byte 的 BOM,如果要不添加 BOM。应该改用 UTF8Encoding utf8 = new UTF8Encoding(是否添加 BOM);