GETPOST字符集编码问题(DOC可编).docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GETPOST字符集编码问题(DOC可编).doc

表单用post方法提交数据时乱码问题解决办法一 1 解决办法二 2 解决办法三 3 解决办法一 a.jsp页面内容: %@ page language=java import=java.util.* pageEncoding=GB2312% form action=b.jsp name:input type=text name=name input type=submit /form b.jsp页面内容: %@ page language=java import=java.util.* pageEncoding=GB2312% % String name=request.getParameter(name); % body %=name% /body 现象:中文乱码,比如“??????” 解决方法如下: 方法一:尝试过,有效但确实不可取 1.???????? 在b.jsp中把pageEncoding=GB2312改为pageEncoding=ISO8859-1 虽然这样b.jsp页面显示的内容还是乱码,但是不是那种“??????”的乱码, 而是一些特殊字符 2.???????? 然后在浏览器中查看菜单中修改成GB2312的编码,这时乱码就显示中文了。 3.???????? 但是这种方法是不可行的。 方法二: 尝试过,有效。我的部分页面就是用该方法 1.???????? 在b.jsp中把String name=request.getParameter(name);修改为 String name=new String(request.getParameter(name).getBytes(ISO-8859-1),GB2312); 2.???????? 这时再在页面上显示,则就是中文了。 3.???????? 但是我个人不喜欢这种方法,因为编写起来代码非常繁琐 方法三: 1.???????? 有人说修改get/post的传值方式,但是这是有前提的, 如果只是把get方式修改成post方式,页面结果还是乱码! 2.???????? 前提你必须配置了过滤器,若果你只是配置了过滤器, 则传值方式必须是:post方式才不是乱码,如果是get方式照样是乱码! 3.???????? 过滤器的配置,我想大家都能有,我就不说了 方法四: 1.???????? 有人说配置tomcat的配置文件server.xml里这句: Connector URIEncoding=GB2312? port=8080?? maxHttpHeaderSize=8192 maxThreads=150 minSpareThreads=25 maxSpareThreads=75 enableLookups=false redirectPort=8443 acceptCount=100 connectionTimeout=20000 disableUploadTimeout=true / 加上这句:URIEncoding=GB2312 2.???????? 虽然可以但是有前提的,若果你过滤器没有配置, 则只是配置了server.xml文件,这样只有在表单是get传值时候才可以! 当是post方式时,照样是乱码! *这时我们就可以看出在tomcat5中的post与get传值方式是不一样的* *有人要问有没有一种方法让传值使用get方式或post方式都好用呢, 下面就是我推荐的方法五* 方法五: 1.???????? 其实很简单,就是同时实现方法三又实现方法四! 2.???????? 就是先配置过滤器,又配置server.xml文件,都设置成GB2312的编码 3.???????? 这样无论是post还是get方式的表单传值,中文都不会是乱码!1、很显然我们使用get或post方法传送数据时,用的是机器上的默认编码,在中文系统中使用的是gb2312,那么我们应该设置request.setCharacterEncoding(UTF-8),将传送过来的编码转换为UTF-8的编码,则在显示的时候就不会显示为乱码了, 因为我的eclipse是使用的UTF-8方式显示的,那么这样就能避免乱码问题。 2、而我们在%@ page pageEncoding=UTF-8%中设置的只是对当前的jsp文件在硬盘中的保存编码。 3、在我看来当我们没有指定一个页面的编码时默认为系统默认的编码,在转换为 UTF-8时会发生错误。 4、get 方法 是使用的ISO-8859_1 编码发送的,通过服务器中的URIEncoding=UTF-8 我们把它转换为了UTF-8编码,但是我们在以UTF-8接受时有些汉字还是会出现问题,有待解决中。。。 5、解决中文乱码问题最有效的途径是 :将传过来的字符

文档评论(0)

rewfdgd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档