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

中文乱码解决方案

时间:2016-05-01 13:37:39      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

1.利用String[也是最常用的方式]

String username = new String(username.getBytes("ISO-8859-1"), "UTF-8"); //通过默认的编码获取到byte[],然后进行UTF-8再次编码  

2.在tomcat中的server.xml进行配置URIEncoding="UTF-8"

<Connector 
URIEncoding="UTF-8"
port="8080"
protocol="HTTP/1.1"   
connectionTimeout="20000" redirectPort="8443" />

3.使用JavaScript对传递的参数进行编码

额外阅读

 

Js编码的几种方式区别:

1.window.escape()与HttpUtility.UrlEncodeUnicode()编码格式一样:将一个汉字编码为%uxxxx格式
不会被window.escape编码的字符有:@ _ - . * / +  这与http://www.w3school.com.cn/js/jsref_escape.asp上的解释不符合

 

2.window.encodeURIComponent()[我推荐使用这种方式]与HttpUtility.UrlEncode()编码格式一样:将一个汉字编码为%xx%xx%xx的格式

不会被window.encodeURIComponent编码的字符有:‘  (  )  *  -  . _   ! ~   这与http://www.w3school.com.cn/js/jsref_encodeURIComponent.asp解释相符合

不会被HttpUtility.UrlEncode编码的字符有:‘  (  )  *  -  .  _  ! 相比较而言,HttpUtility.UrlEncode比window.encodeURIComponent多一个 ~ 编码

 

3.不会被window.encodeURI编码的字符有: -  _  .  !  * (  )  ;  /  ?  :  @  &  =  ,  #,与encodeURIComponent对比,发现encodeURI不对:;/?:@&=+,  #,与encodeURIComponent对比,发现encodeURI不对:;/?:@&=+,#这些用于分隔 URI 组件的标点符号进行编码
事例演示说明
JavaScript代码: window.self.location="searchbytext.action?searchtext="+encodeURIComponent(encodeURIComponent(seartext)); java后台处理代码: searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8"); /* 为什么要两次编码的原因:后台java代码给searchtext赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对。
所以我们可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,
然后在使用searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");进行一次解码就好了。
【这种方式还是用的比较多的,我个人使用的比较少】 */

 

中文乱码解决方案

标签:

原文地址:http://www.cnblogs.com/lusid/p/5450370.html

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