在表单中提交中文出现乱码,怎么回事?

yanycw 2005-08-30 10:29:15
在一个文本框输入中文,通过request获得的怎么会是乱码啊?
我在开头设置了
<%@ page contentType="text/html;charset=GBK"%>

<head></head>间设置了<meta http-equiv="Content-Type" content="text/html;charset=GBK">
,在通过request获得参数前设置了request.setCharacterEncoding("GBK"),都不行;
把GBK改成GB2312也不可以,请问怎么回事呢?
...全文
285 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mark_MaoHUA 2005-09-02
  • 打赏
  • 举报
回复
你要保证每个页面的编码方式一样
ftiger 2005-09-01
  • 打赏
  • 举报
回复
request.setCharacterEncoding("GBK")没有问题的,可能是你加的地方不够前面。在取得任何一个request值之前就加就好了。

另外如果是有get来提交的话,要在server.xml中修改一句
<Connector port="8080" URIEncoding="GBK"/>

到处要加啊。真是的,tomcat不能在一个地方设完了就成了吗。
iiilin 2005-09-01
  • 打赏
  • 举报
回复
加个全局filter,设成GBK啦

就不用每次都自己转码那么麻烦了。
yanycw 2005-09-01
  • 打赏
  • 举报
回复
我估计可能是JSP运行时,指定的编码方式不是中文的,请问如何显示和更改JVM中的参数?
sjg1981 2005-09-01
  • 打赏
  • 举报
回复
你使用<% request.setCharacterEncoding("GB2312");%>试试

如果你在JSP代码中使用到了EL,汉字想解决乱码的问题的话,应该用上这句
<fmt:requestEncoding value="GB2312" />
zling1981 2005-09-01
  • 打赏
  • 举报
回复
<form action="xx.jsp" method="get">改用<form action="xx" method="post">
用post方式提交。
如果还不行那所有的编码都改用utf-8就可以了。
alpha15 2005-09-01
  • 打赏
  • 举报
回复
String s = new String(request.getPrameter("parameter").getBytes("ISO-8859-1"),"GB2312");
hjstu 2005-08-31
  • 打赏
  • 举报
回复
String s = new String(request.getPrameter("parameter").getBytes("iso-8859-1"));
zhkchi 2005-08-31
  • 打赏
  • 举报
回复
String s = new String(request.getPrameter("parameter").getBytes("gbk"));
congliu 2005-08-31
  • 打赏
  • 举报
回复
试试GBK13
yanycw 2005-08-31
  • 打赏
  • 举报
回复
还是不行啊。
wanchao2001 2005-08-30
  • 打赏
  • 举报
回复
String s=request.getParameter("param");
s=new String(s.getBytes("ISO-8859-1"),"GBK");

81,115

社区成员

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

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