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

Javascript
jQuery生成asp.net服务器控件的代码
javascript 实现的完全兼容鼠标滚轴缩放图片的代码
JavaScript学习笔记(十七)js 优化
使用SyntaxHighlighter实现HTML高亮显示代码的方法
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
利用jQuery 实现GridView异步排序、分页的代码
jquery.lazyload 实现图片延迟加载jquery插件
Lazy Load 延迟加载图片的 jQuery 插件
jquery 插件实现图片延迟加载效果代码
javascript小数计算出现近似值的解决办法
jquery1.4后 jqDrag 拖动 不可用
jquery 应用代码 方便的排序功能
选择TreeView控件的树状数据节点的JS方法(jquery)
jquery 图片Silhouette Fadeins渐显效果
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
javascript 同时在IE和FireFox获取KeyCode的代码
js 键盘记录实现(兼容FireFox和IE)
javascript 函数速查表
jQuery AnythingSlider滑动效果插件
经典海量jQuery插件 大家可以收藏一下

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 214 ::
收藏到网摘: 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原谅~~