您的位置:首页 > 运维架构 > Tomcat

Apache+Tomcat 中文资源,以及中文URL中参数中文问题!

2010-07-20 17:06 519 查看
A.  此项目中用到在Web.xml中用到过滤器:
   <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>
       </filter>
       <filter-mapping>
              <filter-name>encodingFilter</filter-name>
              <url-pattern>*.do</url-pattern>
       </filter-mapping>
       <filter-mapping>
              <filter-name>encodingFilter</filter-name>
              <url-pattern>*.properties</url-pattern>
       </filter-mapping>  
这样编程序的时候,就不用考虑中文,直接编写就可以了。
B.在Tomcat中,如果get方法,使用如下: http://www.sqrc.net:88/sqrc/ItemManageAction.do?method=getItem&cateId=1&cateType=2&cateName=首页图片新闻 这样,需要在Tomcat中的server.xml中配置:
<Connector port="9088" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  URIEncoding="UTF-8"
4000
/>
C.如果针对apache转发tomcat,因为使用ajp,所以ajp也需要加:
    <Connector port="9009" protocol="AJP/1.3" redirectPort="8443"  URIEncoding="UTF-8" />
 这样上面的参数中文就解决了!
D.如果访问apache的中文资源,服务器是windows,在apaceh的httpd.conf中,添加如下:
AddDefaultCharset   GB2312
然后重启apache
这样就可以访问在apache下面的如“测试.txt”文件了。(经过测试,去掉这个也可以)
F.奇数偶数个汉字乱码问题:
对于客户端提交(用get方法)的只能用js的encodeURI,如果是程序得到的,得用java.net.URLEncode的encode方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息