ajax中文乱码问题
发布时间:2020-12-16 00:24:55 所属栏目:百科 来源:网络整理
导读:ajax中文乱码问题 2010-01-01 18:27:17 | 分类: JQUERY | 标签: | 举报 | 字号 大 中 小 订阅 项目中用到了Jquery,在本地windows上测试中文传递没有问题,但部署到AIX上测试的时候变成了乱码了,用env看了下AIX的环境变量,原来系统默认设置是英文,怪不
ajax中文乱码问题2010-01-01 18:27:17| 分类: JQUERY | 标签: |举报 |字号大中小 订阅
项目中用到了Jquery,在本地windows上测试中文传递没有问题,但部署到AIX上测试的时候变成了乱码了,用env看了下AIX的环境变量,原来系统默认设置是英文,怪不得中文过去就乱掉了,这个问题用是encodeURI()来解决。具体如下:
1、在js代码中的中文参数用 两次encodeURI编码,下面的例子是用jquery 执行ajax操作的代码片段: $.ajax({ type: "POST", url: "${base}/microblog/publishComment.do",255)"> da {alert(“success!”);} }); 其中的 parameters为: var parameters = "content="+encodeURI(encodeURI($.trim($("#content").val()))); 其中的 $("#content").val() 为中文内容。 2、在后台的act blog.setCommentContent(URLDecoder.decode(content,"UTF-8")); 然后保存到数据库即可。 为什么要进行两次 encodeURI编码 呢? 是因为 Java 中的 request.getParameter(String) 方法会进行一次 URI 的解码过程,调用时内置的解码过程会导致乱码出现。而 URI 编码两次后, request.getParameter(String) 函数得到的是原信息 URI 编码一次的内容。接着用 java.net.URLDecoder.decode(String str,String codename) 方法,将已经编码的 URI 转换成原文。 原文链接:http://hi.baidu.com/zhuguoneng/blog/item/96ca9c1f3d67a966f724e465.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |