读书人

jsp页面的中文乱码有关问题

发布时间: 2013-01-23 10:44:49 作者: rapoo

jsp页面的中文乱码问题。


<SCRIPT type="text/javascript" charset="UTF-8">
<s:iterator var="per" value="#session.perList">
<s:property value="#per.Name"/>这里的值一直是乱码 </s:iterator>
</SCRIPT>


jsp页面的<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

perAction的方法里面也写了

public String findAll(){
HttpServletRequest request = ServletActionContext.getRequest();
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
List list = perdao.findAll();
HttpSession sess = request.getSession();
sess.setAttribute("perList", list);
return SUCCESS;
}


页面上出现的数据还是乱码, 纠结死了。
[解决办法]
JSP文件的编码格式设置成UTF-8
[解决办法]
哦,看错了,以为list是string类型的了。意思是转换下,list的编码应该是iso8859-1,debug看下那里开始乱码的。
[解决办法]
写中文过滤器了没。。过滤器编码 页面编码一致 应该不会出现乱码。。
[解决办法]
关于页面转码问题,个人有小结,希望可以给你帮助:
1.页面都改成UTF-8格式
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2.如果页面时使用get提交方式:则使用request.setCharacterEncoding("utf-8");
3.如果是post提交方式:则使用字符创强转:String name = new String(request.getParameter("参数").getBytes("iso-8859-1"),"utf-8");
4.在web.xml文件里配置字符集过滤器(此方法只对post提交方式有作用)
<!-- 字符集过滤 -->
<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>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
以上是个人学习时的总结,有不对的可以指出,嘻嘻!
[解决办法]
你可以把name在action里面打印打控制台看看是不是乱码,
[解决办法]

public String findAll(){
HttpServletRequest request = ServletActionContext.getRequest();
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");//加上这一句就行了ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
List list = perdao.findAll();
HttpSession sess = request.getSession();
sess.setAttribute("perList", list);
return SUCCESS;


}

[解决办法]
写个过滤器。。。jsp页面的中文乱码有关问题
[解决办法]
在tomcat--conf--server.xml 里找到<Connector Port="8080" 后面加上URIEncoding="UTF-8" />
[解决办法]
如果你确定你的页面的编码与后台的编码一样的话,那建议你把项目clear后,再解除项目的部署,然后再重新部署看看。
[解决办法]
先在你的Action里看看数据装进去有没是乱码。
如果不是乱码 在考虑过滤器 跟JSP的问题

读书人网 >Java Web开发

热点推荐