AJAX中文传值乱码问题解决方法-阿里云开发者社区

开发者社区> 涂作权> 正文

AJAX中文传值乱码问题解决方法

简介: 在软件开发过 程中,乱码问题一直都是我们最头痛的事,页面的编码,开发环境的编码,数据库的编码,有一个不一致都有可能导致乱码问题的发生;有的很好解决,有的很棘 手;当你使用AJAX技术时,为调用的后台方法传值是必不可少的,英文和数字还好解决,一般不会出现乱码,介是如果是要传中文的字符呢?很容易就会乱掉, 因为在你使用编码的时候一般会默认:BG2312,而Ajax默认使用的是UTF
+关注继续查看

软件开发过 程中,乱码问题一直都是我们最头痛的事,页面的编码,开发环境的编码,数据库的编码,有一个不一致都有可能导致乱码问题的发生;有的很好解决,有的很棘 手;当你使用AJAX技术时,为调用的后台方法传值是必不可少的,英文和数字还好解决,一般不会出现乱码,介是如果是要传中文的字符呢?很容易就会乱掉, 因为在你使用编码的时候一般会默认:BG2312,而Ajax默认使用的是UTF-8编码格式,客户端中文字符传输到服务器端时,很可能会出现中文乱码。
  下面我们就讨论一下如何解决咱们在进行软件开发过程中遇到的乱码问题:

  1、如果你不使用Ajax时出现乱码,大多都是页面和后台代码的编码不一致,只要转换一下就好了,可以采用下面两句话:

    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");

  2、如果你使用了Ajax技术时出现乱码,可以使用以下两种解决方法:

  (1)、在浏览器端对要传递的中文参数进行编码处理.代码如下:

  xmlhttp.open("POST","AjaxServlet",true); //请求参数初始化

  xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //因为请求方式为POST,所以这里要设置请求头.GET方法可以省略
  xmlhttp.send("str=" encodeURI(encodeURI("安安DIY创作室"))); //向服务器端发送参数

  在服务器端代码:
  PrintWriter out = response.getWriter(); //得到response的输出流对象

  String str = request.getParameter("str"); //得到页面上名字为str的参数
  String str2 = URLDecoder.decode(str,"utf-8"); //对得到的参数进行解码

  out.print(str); //向浏览器端发送数据

  (2)、在浏览器端对要传递的中文参数进行编码处理.代码如下:

  xmlhttp.open("POST","AjaxServlet",true); //请求参数初始化

  xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //因为请求方式为POST,所以这里要设置请求头.(如果请求方式为GET,此句代码可以省略)

  xmlhttp.send("str=" encodeURI("安安DIY创作室")); //向服务器端发送参数

  在服务器端代码:

  PrintWriter out = response.getWriter(); //得到response的输出流对象

  String str = request.getParameter("str"); //得到页面上名字为str的参数
  String str2 = new String((str.getBytes("ISO-8859-1")),"UTF-8"); //对得到的参数进行解码
  out.print(name); //向浏览器端发送数据

  以上两种方法,在使用Ajax传递中文参数时,乱码问题可以在任意浏览器下解决,正确显示中文。有的只用红色部分那一名代码就好了,如果你有好的办法,一定要到上海软件开发空间我留言哦…共同学习…

转载自安安DIY创作室 http://www.vscsoft.com/
本文链接:http://www.vscsoft.com/post/60.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
在初次使用 Maven 项目的时候总是会遇到一些比较奇异的问题 就比如说总是会报错:项目里的 **.xml 或 **.properties 配置文件无法找到 这时你去项目中的 classes 生成文件(target 或 out)中找,确实这些配置文件没有被编译 这是因为 ...
1366 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6362 0
mysql解决乱码问题
应用场景 在使用mysql数据库的过程中,发现数据导入后中文出现乱码,数据库中出现文字乱码等等,sql语句中查询中文无法查出结果,影响系统使用,以及数据无法正确查询。
676 0
+关注
涂作权
java,架构,编程语言相关专家
1234
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载