锁定老帖子 主题:中文乱码问题解决
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-17
最近在开发过程中遇到不少中文乱码问题,google无数次,总算解决一部分,哦也!
在开发的时候,所有的jsp页面都使用UTF-8编码(UTF-8真是个好东西!)
1.struts中资源文件中如果value为中文,显示乱码
2.表单提交中文时显示乱码
解决办法:使用servlet过滤器filter 在TOMCAT的目录下的\webapps\jsp-examples\WEB-INF\classes\filters\找到SetCharacterEncodingFilter.java 这个类,放到你的程序中并配置好映射路径。 <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>com.wygl.service.SetCharacterEncodingFilter</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>
这样就ok了,还有个需要注意的地方,当时filter配置好后,提交还是乱码,检查了好久才发现,原来
少些了mothed="post"
3. struts的中文问题
解决方法:使用自己的ActionServlet 自己写一个MyActionServlet继承ActionServlet
然后在web.xml里面使用MyActionServlexml
这样就ok了
4. mysql的中文问题
解决方法:统一编码 在mysql创建数据库的时候注意选择编码UTF-8 如果使用Spring + Hibernate来开发,在applicationContext.xml中配置dataSource的url时这样写:
xml 代码
5. js,ajax 的中文问题
js使用的是UTF-8编码,只要包含js的页面也使用UTF-8,js就不会出现乱码 关于ajax,通过ajax将数据提交到服务器端,如果数据中有中文,就会出现乱码 原因:tomcat传参使用ISO-8859-1来编码,而web页面和服务器端都使用的是UTF-8 解决方法:使用ajax的POST,不要使用GET,然后在服务器端这样写 String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "utf-8"); 解决!
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-09-04
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
返回顶楼 | |
浏览 2436 次