关于Ext2 ajax asp sqlserver汉字乱码的问题解决.

最近发现这个问题挺难的,一但遇到要绕过无数干扰才能找到正途.

情况描述:讨厌utf-8格式,使用了gbk ,使用gbk网上有个汉化.css可以用,但是加上后所有输入框等地方的下边线消失,调整ext-all.css,使其显示下边线.

一切正常,开发好登陆界面后,切入到真实环境,问题出来,用中文名字登陆一直报无法找到用户名.郁闷,数据库中明明存在就是查不到.

把AJAX过程中返回查询sql,会发现中文部分消失,等于名字没有输入的感觉.

查了N个资料,N个方案都不正确,还是最后自己找出来的.

第一:sqlserver是很高级的,根本就不用管.

第二:把所有用GBK的全部改回utf-8,不轮是网页里的字符格式,还是文件本身都要转换成utf-8,ultraedit 这个编辑器就带转换功能,当然转换后以前输入的中文全部变乱码了.

第三:主要问题在asp本身,asp要有几个设置.<%@LANGUAGE="VBSCRIPT" %>
<% Session.Codepage=65001 %>
<% Response.charset="utf-8" %>
第二句说明是utf-8格式asp,第三句说明是utf-8返回内容.
把这三句加到你的asp文件头部就可以了,这样传过去的中文能显示能查到,返回的中文也能显示也能查到.

完全不用修改什么,就这么个小问题,绕了好大一全,我甚至都想到在ASP里调用javascript的decode了...

另外,以前改的ext-all.css要改回去,这样就不存在显示问题.

最后,我不想用utf-8唯一的原因是在aptana里不支持utf-8,只能顺利显示gbk的原因,后来我做了几个设置就能让aptana支持utf-8

此设置很简单:

在windows->general->content Types里选上text,在下面空白的字符格式里填写utf-8,然后绑定*.html和*.js到text里.这样你再打开html就直接显示中文了.

非常支持这样的贴子.

非常支持这样的贴子.

没那么复杂

页面用:
ASP:
Response.charset="GB2312"