servlet中文乱码的问题,百度所有的解决方案后还是不行

这个是doget方法
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Type", "text/html;charset=UTF-8") ;
String username = new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");
PrintWriter pw=response.getWriter();
System.out.println(username);//当为固定的中文字符串时没问题 所以是request.getParameter的问题 这里就是乱码了
userDao use=new userDao();//自己定义的数据库连接
String result=use.cheakName(username);
System.out.println(result);
pw.print(result); //返回处理的结果
然后jsp页面我也用了
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

在tomcat下面也改了
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
点击属性查看编码方式也是UTF-8

1个回答

转换成UTF-8在控制台输出,最好看一下Eclipse或者MyEclipse的设置,Windows是GBK课程UTF-8试试,在windows---->Preferences---->general---->Workspace中

u011920453
而苏 回复xxw_242422: 还是一样 不过输出由?????变成了号周围全是黑色的小方框������这种
3 年多之前 回复
xxw_242422
xxw_242422 回复而苏: 试一下String username = request.getParameter("username");不用ISO-88591转换
3 年多之前 回复
u011920453
而苏 改了还是没用
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐