java 中文乱码问题的解决

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. 页面端发出的数据做一次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) ); // encodeURI处理中文乱码问题

posted on 2012-09-19 19:26  发表是最好的记忆  阅读(551)  评论(0编辑  收藏  举报