html向action提交表单,中文都变成了乱码,这该如何解决?

songminghong 2011-05-23 02:51:05
html向action提交表单,中文都变成了乱码,这该如何解决?html的头部有
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
先谢谢
...全文
554 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
迷彩 2011-05-25
  • 打赏
  • 举报
回复
我记得是修改web.xml配置文件,具体请google
wang1986614 2011-05-24
  • 打赏
  • 举报
回复
统一编码或者加个过滤器转码!
songminghong 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 familygo 的回复:]
首先 建议你用UTF-8编码格式

第一、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

这个是设置html中的编码

第二、request.setCharacterEncoding("utf-8") 这是设置request接受参数的编码

第三、new String(key.getByt……
[/Quote]
、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

我用了这个,可是页面在ie中就啥也不显示,查看源码,啥都有,也没有乱码,用ff查看,都是黑点乱码,
不知道是不是我用了url地址重写造成的,我的静态页面都在free文件下下,我在前台用/site/文件名访问,通过url地址重写,转到free下的文件
赵-旭-东 2011-05-24
  • 打赏
  • 举报
回复
首先 建议你用UTF-8编码格式

第一、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

这个是设置html中的编码

第二、request.setCharacterEncoding("utf-8") 这是设置request接受参数的编码

第三、new String(key.getBytes("ISO-8859-1"),"utf-8");

这个是设置某一个字符串的编码的
ncist_jianeng 2011-05-24
  • 打赏
  • 举报
回复
可以将所提交的内容用getByte()转换嘛
songminghong 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wang_jiangping 的回复:]
引用 13 楼 mayanyun1986 的回复:
加一行代码变成jsp,多好处理啊


加这个试试,我以前也出现过,貌似也是这样解决的。
[/Quote]
可是我想就是想要静态页面的,我的网站首页是生成的静态页面,整个jsp不太好吧。不知道html能制定编码格式为utf-8不能?
给爷乐一个 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mayanyun1986 的回复:]
加一行代码变成jsp,多好处理啊
[/Quote]

加这个试试,我以前也出现过,貌似也是这样解决的。
songminghong 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 javaxingzi 的回复:]
从数据库里读出中文,显示在使用GBK的JSP的网页里,如果数据库里存放的字体编码是UTF-8,在JSP中一 定要使用str=new String(rs.getBytes(1),”UTF-8”),才正确显示中文。

再不行用这是试试 new String(key.getBytes(),"gbk");
[/Quote]
我是html的表单向action提交,中文出现乱码,你理解错了吧
songminghong 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 chen_mengyun 的回复:]
终端解决:打开你运行项目的tomcat 文件目录,找到 tomcat目录下的\apache-tomcat\conf\server.xml 文件,找到你的端口所在所在的xml配置 <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" (新添加)URIEncodi……
[/Quote]
添加也不行,并且添加后的其他的又出现乱码了,不行不行
穆大叔 2011-05-23
  • 打赏
  • 举报
回复
从数据库里读出中文,显示在使用GBK的JSP的网页里,如果数据库里存放的字体编码是UTF-8,在JSP中一 定要使用str=new String(rs.getBytes(1),”UTF-8”),才正确显示中文。

再不行用这是试试 new String(key.getBytes(),"gbk");
MagicGirl 2011-05-23
  • 打赏
  • 举报
回复
终端解决:打开你运行项目的tomcat 文件目录,找到 tomcat目录下的\apache-tomcat\conf\server.xml 文件,找到你的端口所在所在的xml配置 <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" (新添加)URIEncoding="GBK" /> 在其后面添加上 URIEncoding="GBK",重启tomcat,再次运行,再不得就是你的文件配置有问题了
mayanyun1986 2011-05-23
  • 打赏
  • 举报
回复
加一行代码变成jsp,多好处理啊
halupipi 2011-05-23
  • 打赏
  • 举报
回复
如果是get方式 可以再server.xml的8080端口 节点中增加编码,增加什么参数自己去找哈
如果是post方式,可以增加filter,把编码改成所需要的
如果都有的话,请参照post方式
tomcat默认提交的编码是ISO8859-1,所以中文是乱码
songminghong 2011-05-23
  • 打赏
  • 举报
回复
从html传来的时候,中文就是乱码,还没有解决,这可怎么办?
halupipi 2011-05-23
  • 打赏
  • 举报
回复
如果是get方式 可以再server.xml的8080端口 节点中增加编码,增加什么参数自己去找哈
如果是post方式,可以增加filter,把编码改成所需要的
如果都有的话,请参照post方式
tomcat默认提交的编码是ISO8859-1,所以中文是乱码
songminghong 2011-05-23
  • 打赏
  • 举报
回复
我不能加,我的jsp向action提交都没有乱码,html向action提交的并不多,就几个,所以不想加过滤器
cocoa2003 2011-05-23
  • 打赏
  • 举报
回复
建议用过滤器统一处理,web.xml里面加一个filter,统一编码转化
songminghong 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 im110 的回复:]
String有个getBytes方法,看看JDK文档。
[/Quote]
我感觉getBytes不错,就是我还没有转过来,
new String(key.getBytes(),"ISO-8859-1");
new String(key.getBytes("ISO-8859-1"),"utf-8");
new String(key.getBytes("gb2312"),"ISO-8859-1");
都不行啊,到底该怎样转变?

songminghong 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yaganblw 的回复:]
request.setCharacterEncoding("utf-8")
这样可以吗?
[/Quote]
不用这样吧
风丶子 2011-05-23
  • 打赏
  • 举报
回复
写个过滤器
加载更多回复(4)

81,092

社区成员

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

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