Ajax 传输时是按 UTF-8 来传输的,要在现有 GB2312 网站上增加 Ajax 就会涉及到编码不一致的情况。对于 GB2312 的 ASP 网站,我认为以下是最佳解决方案之一。
所有页面使用 GB2312(GBK) 编码;
所有页面都用 GB2312 编码的目的是为了让整个网站编码相同,避免带来一系列网页、数据库等不兼容的情况。
在传输时对数据进行编码,这样所有的中文字符都转换成英文字符,而英文字符的 GB2312 和 UTF-8 是兼容的,所以 Ajax 就正常工作了。也即服务器端输出、接收数据时用 ASP 的 URL 编码、解码;客户端发送、接收数据时用 JavaScript 的 URL 编码、解码。
优点
支持生僻字,比如:鎔。