首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2013-01-23 
jsp页面的中文乱码问题。SCRIPT typetext/javascript charsetUTF-8s:iterator varper value#

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的问题

热点排行