zoukankan      html  css  js  c++  java
  • IE下get传中文乱码的问题完美解决方案

    前几天做项目的时候遇到需要在easyui的combobox的url中以get的方式传中文,出现乱码。

    $('#cc').combobox({
      url : 'xxxAction.action?para='+中文,
      editable : false,
      valueField : 'cityId',
      textField : 'cityName'
    });

    到网上寻求解决方案。但基本就是那几种解决方案。

    1.在Tomcat的server.xml文件Connector标签中加入URIEncoding= "UTF-8"。

    2.在web.xml中加入spring处理中文的

    <filter>
    		<filter-name>encodingFilter</filter-name>
    		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    		<init-param>
    			<param-name>encoding</param-name>
    			<param-value>UTF-8</param-value>
    		</init-param>
    		<init-param>
    			<param-name>forceEncoding</param-name>
    			<param-value>true</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>encodingFilter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    

    3.用Java处理String乱码问题,String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "UTF-8");

    4.新建个过滤器。

    以上4种方法我都试过,firefox和Chrome,都已经解决了,但是IE下死活就是不好使,乱码依然存在。

    这时我第一个办法是,如果get不行,就改成post吧,只好改写combobox的方式,用combobox的loader功能。

    $('#cc').combobox({
        loader : function(param,success,error){
            $.post(
    	    "xxxAction.action", 
    	    { provinceId: provinceId },
    	    function(data){
    	        success(data);
    	    }, 
    	    "json"
    	);
        },
      editable : false,
      valueField : 'cityId',
      textField : 'cityName'
    });    
    

    后来跟同事一起讨论的时候,一位同事又给了我另一种解决方案,使用encodeURI

    var url = encodeURI('xxxAction.action?para='+中文);
    $('#cc').combobox({
        url : url,
        editable : false,
        valueField : 'cityId',
        textField : 'cityName'
    });
    

    还是第二种方式更简单,使用更灵活。

  • 相关阅读:
    swift3.0更新内容
    Core Animation
    UIBezierPath精讲
    iOS-Core-Animation-Advanced-Techniques(原文来自cocoachina)
    iOS上图形和动画处理
    使用GCD(转自唐巧的技术博客)
    UITableView的cell的分割线位置
    swift深入理解闭包
    Swift控制器加载xib Swift Controller'view load from xib
    -[UIWindow viewForFirstBaselineLayout]: unrecognized selector sent to instance
  • 原文地址:https://www.cnblogs.com/zyaizz/p/4095099.html
Copyright © 2011-2022 走看看