Jsp乱码解决

这几天学习了一下JSP。用Eclipse3.3 + Tomcat6 。

动手做了一下。结果被中文乱码难了两天(网上一搜才知道这是JSP初学者很难解决的问题)。自已总结一下。

1 . 在Html和jsp文件<head>中加入 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

2    Tomcat6的 server.xml 中修改<conector>段为: <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"   URIEncoding="UTF-8"  reloadable="true" />

一定要看清楚<conector>段,因为它里有很多,其中有些是被注释了的。我就是因此而改错了地方,花了不少的时间。

3    Jsp工程中的WebContent目录下 web.xml 加入:
       <filter>
               <filter-name>Set Character Encoding</filter-name>
               <filter-class>filters.SetCharacterEncodingFilt er</filter-class>
               <init-param>
               <param-name>encoding</param-name>
               <param-value>UTF-8</param-value>
               </init-param>
       </filter>
<filter-mapping>
                   <filter-name>Set Character Encoding</filter-name>
                   <url-pattern>/*</url-pattern>
</filter-mapping>

4  Jsp工程中的WebContent目录下,新建classes文件夹,并在classes文件中新建filters文件夹。 并把Tomcate安装目录下的webapps\examples\WEB-INF\classes\filters\ SetCharacterEncodingFilt er.class 拷到你新建的filters文件夹中。
经过上述几步如jsp的get 和 post 方法,均不会产生乱码。只是如果用的get方法,地址栏上显示的为乱码,不会对接收的jsp文件产生影响。


5  但地栏如果直接输入“1.jsp?username=杨” 就不正确了之 ,所以像<a herf=1.jsp?username=杨>超链示例</a> 也是错的。只能用下面的方法
<a herf=1.jsp?username=<%=URLEncoder.encode(“杨”,”UTF-8”)%>>超链示例</a>
不知道,有没有更好的方法。

后记(对5项):
Google的地址栏就不一样。它可以在地址栏中直接输入中文, 也可是编码后的字符。
http://www.google.cn/search?hl=zh-CN&q=%E6%9D%A8&meta=&aq=f&oq=

http://www.google.cn/search?hl=zh-CN&q=杨&meta=&aq=f&oq=
都行,不知它是怎么搞的^_^。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值