开发者社区 问答 正文

相关Servlet表单乱码的疑问

在做一个Servlet小的Demo(Tomcat,Windows下),一个表单中有个中文字段,到getParameter的时候乱码了(一堆问号),页面什么的全部是utf8,我做了以下修改
request.setCharacterEncoding("utf8") 失败了,还是乱
然后我new String(value.getBytes("ISO-8859-1"), "utf8")成功了……
难道表单提交全部encode成ISO-8859-1了?难道我以后写代码要加上这句转码么?
有没有什么好的方法或者哪位大侠给解释下这个原理,不胜感激。

展开
收起
落地花开啦 2016-05-31 10:57:10 2188 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    因为http url是 ISO-8859-1编码,所以用getParameter从url中获取到的参数是ISO-8859-1编码,需要转换成约定的编码

    2019-07-17 19:21:33
    赞同 展开评论