当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Jquery乱码的一次解决过程 图解教程

Javascript
拖动一个HTML元素
JavaScript使用prototype定义对象类型(转)[
枚举JavaScript对象的函数
在Javascript中定义对象类别
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
用JavaScript限制textarea输入长度 (For: IE、Firefox ...)[
检测邮箱地址是否合法 Check Mail Address (For: IE5+、FF1.06、Opera 7+ ...)[
用于自动添加Digg This!按钮的JavaScript
Javascript实例教程(19) 使用HoTMetal(1)
Javascript实例教程(19) 使用HoTMetal(2)
Javascript实例教程(19) 使用HoTMetal(3)
Javascript实例教程(19) 使用HoTMetal(4)
Javascript实例教程(19) 使用HoTMetal(5)
Javascript实例教程(19) 使用HoTMetal(6)
Javascript实例教程(19) 使用HoTMetal(7)
实现复选框全选/全不选切换
js不是基础的基础
IE的不合理设计和Bugs
js倒计时代码
js静态作用域的功能。

Javascript 中的 Jquery乱码的一次解决过程 图解教程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 274 ::
收藏到网摘: n/a

今天小朋友写了个程式,出现乱码,将解决过程分享一下 为方便说明,将环境简化,vs.net 2003, jquery-1.3.2.js, web service调用

Untitled-1

Untitled-2

简单的请求,简单的响应,但是乱码产生了

Untitled-3

Why?

乱码之所以产生,原因很简单,无非就是编码表用错了,如传的是big5字符,接收却使用utf-8,或utf-8编码,却用GB2312解码。

好吧,先确认一下是否请求过程中产生的乱码

Untitled-4

那我发过去的是乱码吗?

Untitled-5

打开C:/tmp/下的test.txt

Untitled-6

这是什么编码,猜一猜?

Untitled-7

看来客户端没错,且正确地到了服务器端了,那应该是asp.net搞错了编码了,HttpRequest类里找下有没有相关的Encoding相关的属性

Untitled-8

Untitled-9

看看web.config吧

Untitled-10

测试一下修改成utf-8看看

Untitled-11

原因成功找到,看来就是客户端传utf-8,然后服务器端big5接收产生问题

不过这个专案不能这样解决,因为这个旧专案跑了很久了,改这里可能影响以前的其它程式,那就改客户端吧,设置请求属性为utf-8,让asp.net不迷茫

修改ajax请求代码,设定charset属性

Untitled-12

问题得以解决,不过最近也有在vs2005中使用jquery,没有发生乱码,可能是vs2005已经默认为utf-8了(有空再去找下是在哪里默认的,或那位TX告知一下)

vs.net2003默认是本机操作系统的编码,如big5,gb2312,因此常常发生乱码问题.

另,分享一个简单的文本文件的乱码查看方法.

Untitled-14

Untitled-15

对于一些不是以txt结尾的文本档(如aspx,cs),可以先将后缀改为txt,然后再打开IE看,否则IE会不认得,直接下载

图片太多,请网速慢的TX原谅~~