servlet显示中文变成问号

山抹微晴 2015-04-13 10:23:10
servlet处理JSP表单发过来的数据,直接就变成了问号。表单提交数据没问题 post方式
servlet和jsp都设置了Encoding为UTF-8
tomcat也设置了UTF-8
甚至new String(request.getParamter("name").getBytes("ISO-8859-1"),"UTF-8");这种方式也都不行

所以我就想,这到底是不是乱码问题?所有的汉子都显示一个问号,而且问号的数目和汉字的数目一模一样,会不会是我的servlet出了什么毛病显示不了中文?
...全文
2104 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
931828653 2018-07-17
  • 打赏
  • 举报
回复
在web.xml 配置filter 工具类
<!-- 处理提交乱码问题 -->
<filter>
<filter-name>GenericEncodingFilter</filter-name>
<filter-class>项目名+GenericEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>GenericEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
verejava 2018-07-16
  • 打赏
  • 举报
回复
写一个过滤器 Filter 在其中写上下面diamond

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
云下的你 2018-07-16
  • 打赏
  • 举报
回复
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
qq_42648403 2018-07-12
  • 打赏
  • 举报
回复
分享一下我的遭遇……我的原因是把 response.setContentType("text/html; charset = UTF-8"); 中的text/html 错写成了 text.html ,然后不管后面的 charset 里写的什么字符编码,中文输出都是问号…… 然后把点改成斜杠就好了……
yunrune0612 2017-10-19
  • 打赏
  • 举报
回复
https://q.cnblogs.com/q/99323/
zjkwgd 2015-08-13
  • 打赏
  • 举报
回复
response.setContentType("text/html,charset=utf-8"); 这个设置解决了大问题!谢谢!
牙牙学语 2015-04-15
  • 打赏
  • 举报
回复
提交中文数据的乱码问题,1.提交方式是post,设置request的编码即可 客户机是什么编码提交就设置成哪种数据 request.setCharacterEncoding("gb2312"); String username = request.getParameter("username"); 这里的gb2312是指浏览器的码表。2..提交方式是get,设置request的编码无效,只能手工转换 byte source[]=username.getBytes("iso8859-1"); username=new String(source,"gb2312"); 同样这里的gb2312是根据具体的浏览器的码表而定。这样应该可以解决问题的。楼主试试
山抹微晴 2015-04-15
  • 打赏
  • 举报
回复
只要是WEB工程中文就显示问号,我试了System.out.println("哈哈哈");
一样在控制台打印出了三个问号,但是普通的JAVA工程又没问题。
leeKitty 2015-04-13
  • 打赏
  • 举报
回复
前端页面向后台页面传值需要用到encodeURI(encodeURI(XXXX)) 并且两次encodeURI 后台文件使用URLDecoder.decode(XXXX,"UTF-8") 进行解码 这样传递的中文就不会出现乱码了
豫让_______ 2015-04-13
  • 打赏
  • 举报
回复
有可能是tomcat打出来的错误日志显示是问号,但用syso打出来是对的,这种的话是tomcat自己的字符编码跟你的编码不一致,这种情况是不会影响到你的数据的使用的,比如update操作存入数据库的还是syso出来的数据,不会是tomcat错误日志打出来的数据,看看是不是你其他地方写错了。
airfling 2015-04-13
  • 打赏
  • 举报
回复
response.setContentType("text/html,charset=utf-8"); request.setContentType("text/html,charset=utf-8");

81,092

社区成员

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

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