使用Tiles模板JSP出现部分中文乱码
2006-12-14 15:56
507 查看
开发环境:JDK1.5+JBuilder2006+Struts1.3.5+Tomcat6
问题描述:使用Tiles模板JSP出现部分中文乱码
问题现象:页面的Body部分从Bean中获取中文字符串,但显示为问号,而页面中其他非Bean中获取的中文(即直接写在JSP中的中文)能正常显示。Tiles模板文件中已经设置了<%@ page contentType="text/html; charset=GBK"%>。尝试以下几种方法解决,但都未能奏效:
①在Body文件中也加入<%@ page contentType="text/html; charset=GBK"%>,反而使Body页面中的中文全部变为问号,但是在此种情况下不使用Tiles模板,而是单独显示Body部分的JSP文件,Body部分的所有中文又都能正常显示;
②在页面中对Bean中获取的字符串重新进行GBK字符集编码,但还是显示为问号。
③创建MyActionServlet继承ActionServlet,覆盖process方法,设置response.setContentType("text/html; charset=GBK"),结果使得页面的所有部分的中文都为乱码;
问题原因:不了解
解决方法:
①创建MyActionServlet继承ActionServlet,覆盖process方法
public class MyActionServlet extends ActionServlet {
……
protected void process(HttpServletRequest request,
HttpServletResponse response) throws IOException,
ServletException {
request.setCharacterEncoding("GBK");
response.setContentType("text/html; charset=GBK");
super.process(request, response);
}
……
}
②配置web.xml文件
……
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>webapp. MyActionServlet</servlet-class>
<init-param>
……
③在需要显示中文的JSP文件中都加入<%@ page contentType="text/html; charset=GBK"%>;
④把struts-config.xml和Tiles的配置文件(如tiles-defs.xml)的<?xml version="1.0" encoding="ISO-8859-1" ?>中的ISO-8859-1改为GBK。
相关文章推荐
- JSP中使用jsp:param传入参数的时候出现中文乱码
- jsp页面使用中文出现乱码
- 关于使用jsp时出现中文乱码的解决方案总结
- JSP 即使使用UTF-8编码,仍然出现中文乱码问题的原因
- JSP解决ajax使用$.get()方式提交中文出现乱码问题
- jsp servlet mysql fckeditor等配合使用时出现中文乱码的解决问题!
- jsp使用request获取post传递来的参数时出现中文乱码
- 【坑】JSP中使用jsp:param传入参数的时候出现中文乱码
- jsp中使用传参时出现中文乱码问题的解决方法
- 使用myeclipse插入数据到mysql 出现中文乱码|utf8乱码解决方案[适合tomcat部署的jsp应用]
- JSP中使用jsp:param传入参数的时候出现中文乱码
- JSP使用get方式传递中文接受时出现乱码
- 关于使用jsp时出现中文乱码的解决方案总结
- 使用awk拼接字段时部分中文乱码问题
- 解决中文乱码( jsp表单提交中文时出现乱码)
- 使用struts2的<s:param>等标签向action传值出现中文乱码的解决方法
- 使用JSP开发应用程序时的编码(中文等乱码)问题的建议解决方案(包括接受request和数据库操作)
- 在IE8下使用JSON.stringify()出现中文乱码的问题
- jsp使用URL编码传递中文参数乱码问题
- jsp页面 URL传中文参数到Action里面出现乱码