方法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:
-
escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如"春节"的返回结果是%u6625%u8282,,escape()不对"+"编码 主要用于汉字编码,现在已经不提倡使用。
-
encodeURI()是Javascript中真正用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号"; / ? : @ & = + $ , #",也不进行编码。对应的解码函数是:decodeURI()。
-
encodeURIComponent() 能编码"; / ? : @ & = + $ , #"这些特殊字符。对应的解码函数是decodeURIComponent()。
java:
- URLDecoder.decode(value, “UTF-8”); 解码函数
- 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");