之前我编写的系统使用asp+acess2000,页面编码为gb2312,一切都正常。
最近决定全部改用utf-8,我还是采用最笨的办法,一个个该文件,另存选“utf-8”,一通忙乎,总算搞定。
但问题接二连三就来了。
其中一个就是,提交数据库的信息竟然全部变成了“用户在后台登录”这样的方式,难道数据库也要重新编码吗?
折腾了半天,才发现在提交信息的时候,对需要提交的信息用Server.HTMLEncode进行了编码。去掉 Server.HTMLEncode后一切正常了。Why?
百度一下,最后在微软(http://support.microsoft.com/kb/294831/zh-cn)看到了这样的信息:
Server.HTMLEncode 和 Server.URLEncode 破坏了 UTF8 高位字符
但看该文章介绍说,此问题适用于IIS5.0,并且在win2000的sp3中进行了修正,我的系统是xp sp2,IIS版本为5.1,难道这个问题没有进行修正,还是有其他原因?
知道的大侠请指点下,小弟感激不尽!谢谢先!
Microsoft Internet 信息服务 5.0 |