request传值乱码!
//Servlet请求数据
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//request.setCharacterEncoding("UTF-8");试了没用
request.setAttribute("qxs", this.getTblQxBizDao().getTblQx());
request.getRequestDispatcher("management/Test.jsp").forward(request, response);
//JSP页面获值出现乱码,全部是??
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
.......
<select>
<c:forEach var="qx" items="${qxs}" >
<option>${qx.qx}</option>
</c:forEach>
</select>
在线等待,麻烦各位老鸟帮忙解决一下!
------最佳解决方案--------------------楼主,你首先得在Servlet中将从Dao中获取的字符串显示出来看看是否已经是乱码了。
另外,用Attribute传的值和request.setCharactorEncoding无关的,后者只对Parameter起作用。
------其他解决方案--------------------
非常感谢,这个问题已经解决!我在doGet()方法里面调用了doPost();代码是写在doPost里面的,我把doGet()方法里面的PrintWriter out = response.getWriter();删了就好了,搞不清楚这句代码和中文乱码有什么关系? 希望大哥你能帮我解释一下!
------其他解决方案--------------------哦,getWriter调用的时候,会设默认的charset。后面的设置就没有用了。
------其他解决方案--------------------嗯!