在软件开发过 程中,乱码问题一直都是我们最头痛的事,页面的编码,开发环境的编码,数据库的编码,有一个不一致都有可能导致乱码问题的发生;有的很好解决,有的很棘 手;当你使用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

AJAX中文传值乱码问题解决方法相关推荐

  1. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法

    Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 参考文章: (1)Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 (2)https://www.cnblog ...

  2. php chr() ord()中文截取乱码问题解决方法

    今天看到chr() ord()中文截取乱码问题这个例子,觉得相当的不错,拿出来和大家分享下,有兴趣的朋友可以去试下,看看怎么样. 代码如下:<?php $lenth = 19; $str = & ...

  3. eclipse源码中文注释乱码问题解决方法

    现象 最近遇到一个比较奇怪的问题,通过eclipse的反编译软件查看源码注释会出现中文乱码的情况.如下图所示: 虽然不影响开发,但是看着这些乱码就非常不爽,经过网络查询相关资料和个人亲身实践,提供两个 ...

  4. php chr 乱码,php chr() ord()中文截取乱码问题解决方法_PHP教程

    复制代码 代码如下: /* @ 另一种方法,使用ord()函数: @ 适用于 gb2312 编码: */ $str = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?&q ...

  5. Linux中文显示乱码问题解决方法 和 将英文提示换成中文提示

    1.查看当前使用的语言: echo $LANG修改之前:en_US.UTF-8 英文修改之后:zh_CN.UTF-8 中文 2.查看当前系统默认采用的字符集 locale修改之前: [root@roo ...

  6. html页面中文显示乱码问题解决方法

    html页面中出现中文时可能在前端显示为乱码. 问题原因: 页面的显示编码和存储编码不一致 解决方案:修改显示编码和存储编码为一致. 步骤: 修改页面的显示编码 修改页面的存储编码 修改页面的显示编码 ...

  7. maya mel插件中文显示乱码问题解决方法

    环境:win10 中文, maya mel 插件调用txt文本,显示中文文字时出现了乱码,后来发现,时创建文本时,自动用的utf-8, 后来改为随顺 系统默认Ansi 后,再创建的txt文本显示正常了 ...

  8. Eclipse中文乱码问题解决方法

    目录 问题一:Eclipse中,README.md中文乱码问题 问题二:Eclipse中,.java文件中文乱码问题 问题一:Eclipse中,README.md中文乱码问题 解决方法: Eclips ...

  9. springMVC保存数据到mysql数据库中文乱码问题解决方法

    springMVC保存数据到mysql数据库中文乱码问题解决方法 参考文章: (1)springMVC保存数据到mysql数据库中文乱码问题解决方法 (2)https://www.cnblogs.co ...

最新文章

  1. 怎么使用html及jsp开发,jsp怎么用css
  2. Dex-net再次复现
  3. TPYBoard:一款可以发挥无限创意的MicroPython开发板
  4. python ssh
  5. 学习Spring Boot:(十八)Spring Boot 中session共享
  6. 数据库的数据进行改动,Cognos报表展示未及时更新
  7. shell 中if判读使用总结
  8. JS pos机- V0.2
  9. C#做一个简单浏览器
  10. Java研发岗面试复盘总结附答案+考点
  11. c语言自动输入0到1000,c语言实现输入一组数自动从大到小排列
  12. centos7安装mysql失败
  13. 土壤微生物组——从宏基因组学到宏表型组学
  14. python画点连线_python matplotlib 在指定的两个点之间连线方法
  15. JAVA 把base64图片数据转为本地图片
  16. 不要给技术人员做绩效
  17. [附源码]java毕业设计医院档案管理系统
  18. jpg转pdf转换器注册码使用
  19. [转]REBOL 语言简介
  20. 腾讯美团“分道扬镳”,腾讯欲出售243亿美元股份,你会接盘吗?

热门文章

  1. VTK:二次可视化用法实战
  2. JavaScript实现jumpSearch跳转搜索算法(附完整源码)
  3. boost::log::sinks::file用法的测试程序
  4. boost::graph模块实现斐波那契堆的测试程序
  5. boost::detail模块实现boost::blank的测试程序
  6. GDCM: 简单的QIDO-RS往返测试gdcm :: JSON的实现
  7. DCMTK:创建和验证DICOM数字签名
  8. DCMTK:CT采集类型FG类的测试
  9. VTK:可视化之SelectWindowRegion
  10. C语言字符串是否为pallindrome排列的算法(附完整源码)