文章来源: BBS.KESONIC.COM
研究好多天了,也试过好多办法了,总结出目前发现最好的方法: 先说一下基本的东西: <%@ codepage=936%>简体中文 <%@ codepage=950%>繁体中文 <%@ codepage=65001%>UTF-8
codepage指定了IIS按什么编码读取传递过来的串串(表单提交,地址栏传递等)。
出乱码的原因也就是网站要整合的时候模块编码不一样引起的。 就像我的博客一样,整合的时候都会出这个问题,因为BLOG是Utf-8的, 近来很多网友都在为这个问题咨询,我尝试了很多种方法。 最方便的方法如下: 不要转换任何模块网页的编码该utf-8的还是utf-8,该Gb22312的还是Gb2312 在Utf-8模块的包文件(如conn.asp,但是要注意conn.asp必须是在第一行调用)最前面加上 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <%Session.CodePage=65001%> 在GB2312模块的包文件最前面加上 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%Session.CodePage=936%> 其他编码的类推。再出问题,我也帮你了了,我现在是都没问题了^^
小议:UTF8还是GB2312
早些年上网的朋友都知道,NS或IE浏览器早期的版本并不支持多国语言的浏览,如果想浏览繁体中文、日文等外文网站还需要一个如“中文之星”或“四通立方”的外挂软件,后来浏览器逐步发展升级,到目前为止,几乎所有浏览器都支持多国语言字符,可以浏览任意国家、语言的网站。Blog的出现,特别是Trackback的出现,使网络国际化的行为由被动的浏览信息向主动式的交互信息过渡,然而新的语言障碍问题又出现了...
问题主要出在Blog的Trackback(引用)、Ping(通告)、Notification(通知书)等交互具有的功能上。以前我们在理解和应用网络上的交互主要局限在C-S范围之内,也就是客户(个人)与服务器(网站)之间的信息交互,例如:在网络上发布一篇文章或回复一个论坛帖子,一般来讲这样的交互很少会出现语言不兼容的问题。然而Blog中的Trackback等的交互方式不只是C-S的,它还是S-S(Blog网站之间)的,甚至是多重的,例如在发布一篇文章的时候,你可以同时选择让它同时发布在一个或多个不同的Blog上,或者给指定的人发出更新通知,也可以让更多的人预订、收录你的RSS内容更新信息。Blog的交互方式更多、更灵活,当然,这种交互并非没有限制,语言编码是一个很大障碍,如果你的Blog系统编码是中文简体的GB2312,那么所有Trackback、Ping的交互对象就只能限于国内采用GB2312编码的用户,你的Blog也就无法与台湾、日本等采用非GB2312编码的用户实现交互。
比较好的解决办法是采用UTF-8编码,虽然采用UTF-8编码回多占用一些空间(一个汉字需3个字节),但国际化问题总算解决了,UTF-8兼容GB2312、BIG5、EUC-JP等多种国家的语言编码,经测试,采用UTF-8编码的Blog之间的各种交互、通讯没有任何问题。事实上90%以上的台湾Blog都已经舍弃了BIG5,而采用UTF-8的编码方式,而大陆的Blog几乎还都是GB2312编码,看来台湾在国际化方面还是相当领先的。
|