情景: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 将内容进行转码和解码是万能的