zoukankan      html  css  js  c++  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. 用于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");
    
  • 相关阅读:
    OpenNebula Restfull 接口请求示例
    [c++]堆和栈的区别
    [c++]程序的内存划分理解
    设计原则 依赖倒置
    设计原则 里氏替换原则
    设计原则:单一职责原则
    WPF 使用附加属性增加控件属性
    WPF 使用依赖属性自定义控件
    WPF EventAggregator(基于EventAggregator的事件发布及订阅)
    Struts2 Validate
  • 原文地址:https://www.cnblogs.com/Alandre/p/3187455.html
Copyright © 2011-2022 走看看