频道直达
八强网 > 实务 > 编程语言 > 正文阅读
关键词

[asp]Ajax乱码问题整理

www.8tops.com 2007-6-25 10:22:57   发布:郭文
媒体:onewww.net  作者:llinzzi
作者的Blog:http://onewww.net

产生原因
主要有2个原因
1 xtmlhttp 返回的数据默认的字符编码是utf-8,如果前台页面是gb2312或者其它编码数据就会产生乱码
2 post方法提交数据默认的字符编码是utf-8,如果后台是gb2312或其他编码数据就会产生乱码

解决方法
进一步整理中
推荐方法,前台后台都用utf-8编码,这样可以省不少麻烦,从根本上解决了乱码问题.优点是效率高,而且符合目前的形式,utf-8编码本身就是一种比较优秀的编码,没有语言限制.缺点只能调用自己的后台编码或者其他的utf-8的编码.
前台更改为

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

后台asp中第一行加入如下代码

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<% Response.Charset="utf-8"; %>
<% Session.CodePage=65001; %>

后台如果有html代码也需保证

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


补救的方法是进行编码转换.可以在客户端也可以在服务器端进行编码转换.优点是没有任何限制,缺点效率低.
可参考本站的WEB代理(ASP版),这里是服务端的asp编码,由于脚本语言是javascript,所以直接复制到客户端也可以使用!

补充
如果是老系统升级ajax,如果系统是gb2312的话,也无需大修改
新建立一个ajax的后台页面编码是utf-8,前台可以为任意编码,后台页面负责添加数据库,可保证存入数据库后无乱码
八强网,更多精彩在首页,
八强网首页
网友评论

发表

游客于2007-8-26 1:29:24写道:
魂牵梦萦
游客于2007-8-26 1:29:14写道:
你个也叫解决问题吗?
我也评两句
 
发文时请务必注意:
一、遵守国家相关法律规定,如 《北京地区互联网站电子公告服务倡议书》《全国人大常委会关于维护互联网安全的决定》 及中华人民共和国其他各项有关法律法规。一旦违犯法律法规,您将承担一切因您的行为而直接或间接导致的民事或刑事法律责任,本站工作人员有义务配合相关部门,提供必要的技术资料(如IP地址等)。
二、自觉遵守爱国、守法、自律、真实、文明的原则,严禁发表有人身攻击倾向、有造谣生事嫌疑的言论,严禁发表虚假广告、色情、网络传销性质的内容,本站管理人员有权删除违反规定的内容或取消违规网友的发文权限甚至删除其ID。
互联网产业作家
网站提交】【八强自荐
将八强网设为首页 将八强网添加到收藏夹 将八强网推荐给朋友 网络实名、通用网址:八强网
关于我们 - 联系合作 - 广告服务 - 友情链接 - 支持单位 - 免责声明
基于E-file技术构建 版权所有Copyright©2006 京ICP备06061834号