表单中输入汉字后用getparameter("name")为什么得到的是怪码????±? 我已经设了charset=gb2312请问这是为什么?

wangjinbao 2004-06-12 04:23:04
表单中输入汉字后用getparameter("name")为什么得到的是怪码????±? 我已经设了charset=gb2312请问这是为什么?
...全文
131 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qyzj_wanghx 2004-09-02
  • 打赏
  • 举报
回复
这个问题有时候和WEB应用服务器有关系,,比如tomcat有不同的版本就出现不一样的结果..可以采用上面说的方法..进行转换 String name = request.getParameter("name");
if(name != null){
name = new String(name.getBytes("iso8859-1"),"GBK");
}

或者在JSP中设定上
<% request.setCharacterEncoding("GBK"); %>


在开头加上一句
<%@ page contentType="text/html;charset=GBK"%>

fanglifeng 2004-09-02
  • 打赏
  • 举报
回复
在开头加上一句
<%@ page contentType="text/html;charset=gb2312"%>
如星 2004-09-02
  • 打赏
  • 举报
回复
确保在引用前使用
<% request.setCharacterEncoding("gb2312"); %>
wenxinwenyi 2004-09-02
  • 打赏
  • 举报
回复
试了,
没有用!
BigBangBug 2004-06-12
  • 打赏
  • 举报
回复
同意
Mailbomb(网络咖啡)
lijinxing 2004-06-12
  • 打赏
  • 举报
回复
在连接数据库的文件,
useUnicode=true&characterEncoding=GBK
写上这段,就可以了
yswift 2004-06-12
  • 打赏
  • 举报
回复
out.println(req.getParameter("name").getBytes("ISO8859_1","GBK"));
如果没有提交name, 会抛空指针异常.
wangjinbao 2004-06-12
  • 打赏
  • 举报
回复
这样写为什么错?
out.println(req.getParameter("name").getBytes("ISO8859_1","GBK"));
jcfox 2004-06-12
  • 打赏
  • 举报
回复
public static String gbToUnicode(String s)
{
try
{
return new String(s.getBytes("ISO8859_1"), "gb2312");
}
catch (UnsupportedEncodingException uee)
{
return s;
}
}
网络咖啡 2004-06-12
  • 打赏
  • 举报
回复
String name = request.getParameter("name");
if(name != null){
name = new String(name.getBytes("iso8859-1"),"gb2312");
}

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧