jsp传递中文参数出现乱码
我在网上找了很多资料,其中在server.xml中的添加URIEncoding='GBK'下去问题解决了一半,为什么是一半?因为我用get方法传递时的确是没有乱码,但用p...
我在网上找了很多资料,其中在server.xml 中的添加URIEncoding='GBK'下去问题解决了一半,为什么是一半?因为我用get方法传递时的确是没有乱码,但用post方法时一样出现乱码,请高人指点!
展开
10个回答
展开全部
试试这样做做
我就是这样解决的
String name=request.getParameter("name");修改为
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");
我就是这样解决的
String name=request.getParameter("name");修改为
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在JSP中客户提交的含有汉字的数据必须采用特殊的处理方式,即先将得到的字符串用ISO-8859-1 编码,并放到一个字节数组中,再用String类的构造函数将其转换为字符串对象。这个过程可以用如下方式来表示:
String tempString=request.getParameter("str");
byte tempB[]=tempString.getBytes("ISO-8859-1");
tempString=new String(str);
这里有个现成的函数你可以使用:
public String codeToString(String str)
{
//解决中文字符串的问题
String s = str;
try
{
byte tempB[] = s.getBytes("ISO-8859-1");
s = new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
String tempString=request.getParameter("str");
byte tempB[]=tempString.getBytes("ISO-8859-1");
tempString=new String(str);
这里有个现成的函数你可以使用:
public String codeToString(String str)
{
//解决中文字符串的问题
String s = str;
try
{
byte tempB[] = s.getBytes("ISO-8859-1");
s = new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java.net.URLEncoder.encode(XXXX,"gb2312")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在JSP中客户提交的含有汉字的数据必须采用特殊的处理方式,即先将得到的字符串用ISO-8859-1 编码,并放到一个字节数组中,再用String类的构造函数将其转换为字符串对象。这个过程可以用如下方式来表示:
String tempString=request.getParameter("str");
byte tempB[]=tempString.getBytes("ISO-8859-1");
tempString=new String(str);
这里有个现成的函数你可以使用:
public String codeToString(String str)
{
//解决中文字符串的问题
String s = str;
try
{
byte tempB[] = s.getBytes("ISO-8859-1");
s = new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
String tempString=request.getParameter("str");
byte tempB[]=tempString.getBytes("ISO-8859-1");
tempString=new String(str);
这里有个现成的函数你可以使用:
public String codeToString(String str)
{
//解决中文字符串的问题
String s = str;
try
{
byte tempB[] = s.getBytes("ISO-8859-1");
s = new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写一个过滤器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询