解决方案--地址栏传的字符串乱码

情景:http://localhost/fcms/conn/shareToView.htm?title=啊大算哒阿斯蒂芬爱上打发速度啊啥地方&content=Aasf爱上发阿萨德发师傅艾丝凡爱上发师傅啊师傅啊

1. 利用过滤器来对HTTP的请求和响应进行字符编码的限定:

需要先得到request和response对象,利用

ServletActionContext.getRequest().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");

2. Tomcat字符编码配置

在tomcat/conf/server.xml文件中,Ctrl+F

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

3. 最后的手段:

1. String str = new String(xxx.getBytes("GBK") , "UTF-8");

  虽然很不灵活但是我们可以抽取出来,重构一下。并且我觉得这种方法不靠谱,因为浏览器解析的字符编码不一样,可能会导致转码不成功!但是这种情况现在还没遇到过。。。

2. URLEncode+URLDeCode  将内容进行转码和解码是万能的

posted @ 2013-07-02 11:46  MuaRine  阅读(513)  评论(0编辑  收藏  举报