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;