java 中文乱码的解决方法

1. 这方法行之有效,但是谨慎用,它会作用服务器。
超链接中带有的中文字符,<a class="add" href = "system/showDataAdd.action?title=题目&dataType=clientRank& rel=clientRankSet">添加</a>

这样如果不进行处理在后台得到的数据就会出现中文乱码的问题,由于超链接实际是用get方式进行传值的,这个问题的解决方法有:a. 在我们用的Tomcat的conf文件夹

中找到server.xml,在该文件中找到<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />,然后在这里面加

写URIEncoding="gb2312"即可解决。
2.在服务端用代码进行处理:例如title是要进行处理的中文字符:

public void setTitle(String title) {
try {
this.title = new String(title.getBytes("ISO-8859-1"), "gbk");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

3. 用于ajax比较多
页面端发出的数据做一次encodeURI,服务器端使用 new String(old.getBytes("iso8859-1"),"utf-8")
    如:var url= "AJAXServer?name="+encodeURI($("#userName").val() ) ; // encodeURI处理中文乱码问题

4. 页面端发出的数据做两次encodeURI处理, 服务器端用URLDecoder.decode(old,"utf-8");

var url= "Users?name="+encodeURI(encodeURI($("#username").val() ))+"&password="+encodeURI(encodeURI($("#userpassword").val() ) )

+"&type="+encodeURI(encodeURI(input[i].value) );

action类里面:

String string=URLDecoder.decode(cols[i], "utf-8");
上一篇:51Nod 1067 Bash游戏 V2 | 博弈论 Bash


下一篇:Z-BlogPHP 安装出现 (8) Undefined offset: 6 解决方法