码迷,mamicode.com
首页 > 其他好文 > 详细

问题分析解决——中文乱码

时间:2017-09-06 18:16:44      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:中文乱码   个人   中文   get   备忘   开发   避免   编码   介绍   

在开发的时候不可避免的会遇到一些中文乱码,这次我来介绍总结一下我遇到的中文乱码。

首先,在发现提交上去的表单中文乱码的时候先检查是否是配置的问题。

“硬件”检查:

1.检查myEclipse的编码是否为UTF-8 

技术分享

2.检查是否是jsp或html页面字符集编码设置错误

技术分享

3.检查doPost方法中,参数获取是否设置了。

 技术分享

 

如果以上都符合,那么你就是代码出了错。

所以我们要对代码进行仔细的检查,判断是否是因某个不注意的方法,导致中文乱码。

4.修改tomcat中的默认编码

——去tomcat的工作目录下,找到server.xml文件

  增加如下图红框中内容

技术分享

 

“软件”检查:

因为这个每个人的问题都不太一样,所以我就记录一下我的错误,以供自己备忘。参考价值。。因人而异

1.中文乱码成????,每个中文都对应一个问号

——具体情况:乱用方法,强制把utf-8编码的字符 转成 tomcat的默认编码 ISO-8859-1 ,再转成utf-8

  我是这么干的,

String note =  new String(req.getParameter("note").getBytes("ISO-8859-1"), "UTF-8");

   ——这就是被自己强制中文乱码了。。。一开始没检查清楚,就盲目调整。。所以说,“硬件”检查非常重要。

 

2.中文在base64加密的时候被加密成错乱的字符

——具体情况:中文:我就是想来一个家的积极计算机的理解啊上来看见的地方很多

      base64加密再通过工具解密出来的数据:Β?ǐ???????4??

  

——解决:经过各种纠错,发现首先输入输出的字符都是utf-8,所以排除了因编码错误导致的问题;

    其次,检查是否是加密手段造成的中文乱码,对比两次不同加密方法加密后的字符串,发现并不是

    再者,将原字符串放到在线加密工具加密,对比加密后的字符串,发现是中文在加密时乱码导致的

    最后,代码体现修改手段(加红部分即为我所修改的,并成功纠正中文乱码错误)。   

String enParams = new BASE64Encoder().encode(strParams.getBytes("utf-8"));

 

  以上,就是我暂时遇到的中文乱码问题。

 

问题分析解决——中文乱码

标签:中文乱码   个人   中文   get   备忘   开发   避免   编码   介绍   

原文地址:http://www.cnblogs.com/helingjuan/p/7486084.html

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