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

jsp页面的form通过post提交到servlet后,中文乱码有关问题,请教如何解决

2012-02-06 
jsp页面的form通过post提交到servlet后,中文乱码问题,请问怎么解决?在jsp页面加了%@pagelanguage java

jsp页面的form通过post提交到servlet后,中文乱码问题,请问怎么解决?
在jsp   页面加了
<%@   page   language= "java "   pageEncoding= "UTF-8 "%>
<%@   page   contentType= "text/html;charset=UTF-8 "%>


servlet   doPost方法也加了
response.setContentType( "text/html;   charset=UTF-8 ");
response.setCharacterEncoding( "UTF-8 ");

中文还是出现乱码
用   new   String(filePath.getBytes( "ISO8859-1 "), "UTF-8 ")也不行,快疯了
请问一下各位有什么好的方法吗?

[解决办法]
String param = new String(filePath.getBytes( "ISO-8859-1 "), "UTF-8 ");
System.out.println(param);
这样肯定没问题了。
[解决办法]
我遇到过类似问题。把jsp页页的编码方式改成:GB2312:
<%@ page language="java" pageEncoding="GB2312"% > 
在servlet里不要设置编码方式了,直接用这样的方式:
String str=toChinese(toChinese(request.getParameter("name")));
public String toChinese(String string){ //转化函数
String str=string;
try{
byte[] temp=str.getBytes("ISO-8859-1");
str=new String(temp);
return str;
}catch(Exception e){
return str;
}
}
也就是GB2312和ISO-8859-1配合使用。
[解决办法]
1. jsp页面保存的编码格式是不是UTF-8。
2. servlet里加request.setCharacterEncoding("UTF-8");

[解决办法]
浏览器默认设置总是以utf8发送的,dopost接收数据不需要转换

热点排行