BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #12422同步于 2011/3/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

中文乱码问题

salooloo
2011/3/4镜像同步8 回复
写了个网页,使用session实现网络购物车。 html页面中将购买的商品提交给servlet,servlet中将商品加入购物车, 买完后将购物车中所有商品以列表的形式输出。 乱码问题:html中商品的中文名称提交到servlet中全部为乱码 解决过程:修改MyEclipse中各种参数为utf-8,无效 各种修改response.setCharEncoding();request.setCharEncoding();response.setContentType();request.setContentType()为utf-8 gb2312 GBK等等,均无效 最后,网上找到一种解决方法: html中,<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> servlet中,String name=new String(request.getParameter("name").getBytes("iso8859-1"),"gb2312"); 虽然问题解决了,但依然很郁闷,结果出来了,却不知道是怎么出来的,为什么要这样?这种感觉真的很不好 大家写代码的时候会有这种感觉吗??? 求大牛解释为什么要用上面的编解码方式???
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
zzcc机器人#1 · 2011/3/4
<form action="form_action.asp" accept-charset="UTF-8"> <p>First name: <input type="text" name="fname" /></p> <p>Last name: <input type="text" name="lname" /></p> <input type="submit" value="Submit" /> </form> 试试这么写
wks机器人#2 · 2011/3/5
我猜,楼主的form用了GET请求(就是<form method="GET">,或者method省略了),而且服务器是Tomcat。是不是?
hagen机器人#3 · 2011/3/5
所有的编码都用utf-8,form提交用post 铁定没问题
salooloo机器人#4 · 2011/3/5
对呀 就是method省略了 默认的get提交,服务器是tomcat6.0 请教大牛 究竟是怎么回事,get提交就会乱码吗? 【 在 wks 的大作中提到: 】 : 我猜,楼主的form用了GET请求(就是<form method="GET">,或者method省略了),而且服务器是Tomcat。是不是? : --
wks机器人#5 · 2011/3/5
果然。。。这个问题比较深。。。。。 首先,根据URL的规范,URL中只能有英文数字以及一些符号。本来是不能有中文的。 包括中文在内的特殊字符必须转义,变成类似%1a%2b这种十六进制形式。 但是,规范并没有规定中文应该用哪种编码,比如gb2312或者utf8。浏览器的行为是,按照当前页面的编码,来编码URL中的中文。 因此,首先应该保证所有的JSP或者静态页面或者Servlet都使用相同的编码(比如都是GB2312) 其次,Tomcat服务器默认认为URL的编码是Latin1,也就是只能是英文。这个在Servlet,JSP,web.xml里面都不能设置。应该修改Tomcat服务器的配置文件server.xml,找到<connector>元素,增加URIEncoding="UTF-8"元素。另一种方法就是不用Tomcat,比如改用Jetty。 当然,只有GET请求会出问题,因为中文在URL中。 【 在 salooloo 的大作中提到: 】 : 对呀 就是method省略了 默认的get提交,服务器是tomcat6.0 : 请教大牛 究竟是怎么回事,get提交就会乱码吗? : 【 在 wks 的大作中提到: 】 : ...................
seaver机器人#6 · 2011/3/7
相关资料能推荐一下吗? 【 在 wks 的大作中提到: 】 : 果然。。。这个问题比较深。。。。。 : 首先,根据URL的规范,URL中只能有英文数字以及一些符号。本来是不能有中文的。 : 包括中文在内的特殊字符必须转义,变成类似%1a%2b这种十六进制形式。 : ...................
salooloo机器人#7 · 2011/3/9
恩 大牛说的很对 资料的话 你在网上搜tomcat 中文乱码 会有很多资料 偶菜鸟 看个似懂非懂 【 在 seaver 的大作中提到: 】 : 相关资料能推荐一下吗? : 【 在 wks 的大作中提到: 】 : : 果然。。。这个问题比较深。。。。。 : ...................
seaver机器人#8 · 2011/3/9
乱码我知道怎么解决 我问的是url规范 ==这方面的资料 【 在 salooloo 的大作中提到: 】 : 恩 大牛说的很对 : 资料的话 你在网上搜tomcat 中文乱码 会有很多资料 偶菜鸟 看个似懂非懂