码迷,mamicode.com
首页 > 编程语言 > 详细

form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决

时间:2018-02-11 21:24:15      阅读:469      评论:0      收藏:0      [点我收藏+]

标签:for   tab   方式   后台   highlight   csdn博客   isp   更改   pos   

form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决

一、问题:

页面输入框中的中文内容,在后台乱码,导致搜索功能失效;(详细可以见后面的重现)

二、原因:

浏览器对于数据的默认编码格式为UTF-8,但是Tomcat(tomcat7及以下)默认以ISO-8859-1解码,导致乱码;

三、解决方法:

3.1 后台对参数字符串重新构造;

代码一:
activityName = new String(activityName.getBytes("iso-8859-1"),"utf-8");  //一行代码即可

代码二:
activityName = java.net.URLEncoder.encode(activityName,"ISO-8859-1");
activityName = java.net.URLDecoder.decode(activityName,"UTF-8");

3.2 直接更改Tomcat配置

3.3 其他很多方法可百度

四、重现及解决:

技术分享图片

五、参考:

  1. 中文乱码在java中URLEncoder.encode方法要调用两次解决 - CSDN博客 http://blog.csdn.net/kongqz/article/details/9028111 (我就是看这个解决的)
  2. java中以post方式提交,中文编码&解码问题 - Dream it Possible - CSDN博客 http://blog.csdn.net/hu_zhiting/article/details/52088245 (教程写的很好,解决方法也多)
  3. request和response的setCharacterEncoding()方法 - kong_lev的博客 - CSDN博客 http://blog.csdn.net/kong_lev/article/details/73071198 (短小精悍)
  4. url请求中的中文乱码处理 - CSDN博客 http://blog.csdn.net/zhengyang7754/article/details/47263599 (很长…但是没看完)

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决

标签:for   tab   方式   后台   highlight   csdn博客   isp   更改   pos   

原文地址:https://www.cnblogs.com/buwuliao/p/8442952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!