Response.Charset="utf-8"与Response.Charset="gb2312"

来源:互联网 发布:玩客云官网抢购软件 编辑:程序博客网 时间:2024/03/29 21:59

Response.Charset="utf-8"与Response.Charset="gb2312"

最简单的一个就是utf-8编码,基本上只要是操作系统都支持这种编码,而只有支持中文的操作系统才可能存在gbk或gb2312编码,至于有什么不同,那很简单。

  例如:“朋友春节快乐”这几个字,如果页面编码是utf-8的话,那么几乎在任何操作系统下都能正确显示“朋友春节快乐”这几个字符,这样客户即使不认识这几个字符,也可以照样复制粘贴发给别人帮助翻译。

  但如果是gb2312编码那就不一样了,如果客户的操作系统不支持中文,例如是日文或英文的操作系统,那么“朋友春节快乐”这几个字这个时候就会由于客户机并无gb2312编码而无法正确显示。最终显示的是乱码。

  有时gb2312在英文操作系统上不能显示,会出现乱码,只要在访问UTF-8网站,如果中文是乱码,会弹出来个窗口,点是,自动下载,刷新后就能显示中文了,访问GB2312的动网也没问题。这个弹出来的,估计跟大家装完系统第一次上网弹出来个flash播放控件是一样的道理。不过还是推荐在面向世界的网站使用UTF-8格式,向动网官方,只给中国人看的就没必要用UTF-8了。

  但是如果用光盘安装一个非中文的系统,在安装时选上“东亚文字”支持,或者编码里去掉所有的GB相关的编码,装好后把光盘拿走,然后去浏览GB码的网站就不很有可能出现乱码了。这就跟Flash插件一样,一般情况下,只要不是番茄花园、龙族什么的修改过的系统,默认安装的都是不能显示Flash需要下载那个控件的,包括上海政府版!

  如果一个系统,中国人看,外国人也看的话,建议用UTF-8。

================================================================

我是asp, 前几天也是这个问题 (ajax返回的中文字符为乱码。)
解决办法是
<%Response.Charset="GB2312" %>
网上资料都说是要uft-8,我现在用gb2312,gbk都正常

将<%Response.Charset="GB2312" %>  放置在异步调用的asp页面的顶部即可。

---------------------------------------------------------------------------------------------------------------------

get或者post的时候,js里面用escape,asp里面用unescape(request.....)