tomcat 7+ IE浏览器中文传参数乱码

方法1:

Tomcat\conf\server.xml,指定浏览器的编码格式为“UTF-8”:

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='UTF-8' />

方法2

Tomcat\conf\web.xml,查看类型为htm/html的设置,将其编码集设为UTF-8

<mime-mapping> 
	<extension> htm </extension> 
	<mime-type>text/html; charset=UTF-8 </mime-type>
</mime-mapping>
<mime-mapping>
	<extension>html</extension>
	<mime-type>text/html; charset=UTF-8</mime-type>
</mime-mapping>

方法3

在启动start.sh脚本中添加一句

export LANG=zh_CN.UTF-8

方法4

将跳转链接放在页面的节点中,用window.open跳转

方法5

使用javascript的encodeURI()编码,使用java的URLDecoder.decode(value, “UTF-8”)解码

备注
javascript:

  1. escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如"春节"的返回结果是%u6625%u8282,,escape()不对"+"编码 主要用于汉字编码,现在已经不提倡使用。

  2. encodeURI()是Javascript中真正用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号"; / ? : @ & = + $ , #",也不进行编码。对应的解码函数是:decodeURI()。

  3. encodeURIComponent() 能编码"; / ? : @ & = + $ , #"这些特殊字符。对应的解码函数是decodeURIComponent()。

java:

  1. URLDecoder.decode(value, “UTF-8”); 解码函数
  2. URLEncoder.encode(value, “UTF-8”); 编码函数

方法6

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>

方法7

name=new String(name.trim().getBytes("ISO-8859-1"), "UTF-8"); 

猜你喜欢

转载自blog.csdn.net/RUANJIAOXIAOZI/article/details/83992336