乱码问题是困惑很多人的一个头疼的问题
网上关于这个问题的讨论已经是很多的了
很是郁闷 花了大半天 终于解决了tomcat的乱码问题
先是用filter解决不了问题 还是传递过来乱码
后来用requestprocessor也不行
弄了很久 困惑了很久 百度了很久 才发现tomcat下面有这么个内置编码iso8859-1
后来还是要在tomcat目录下面解决
要手动改成了gbk
打开conf目录下面的 server.xml文件
<Connector port="8001" maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
找到了这么一段话
添加上URIEncoding="GBK"或者URIEncoding="UTF-8"
<Connector port="8001" maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK"/>
之后重起服务器就可以了!
原来 以上为之硬编码。
还有一种是软方法
String name=new String (name.getBytes("ISO8859_1"),"GBK");
我们可以写一个通用的函数还修改 通常做法是这样写的
Public String toGBK(String oldstr)
{
String newstr= "";
try {
newstr= new String(oldstr.getBytes("ISO-8859-1"), "GBK");
newstr= newstr.trim();
}
catch (Exception ex)
{
ex.printStackTrace();
}
return newstr;
}