请问为什么tomcat8.5 GET请求中文正常,POST请求还需要设置UTF-8.

是这样的,tomcat8以后默认编码是UTF-8. 使用get方式接收参数,中文显示正常. 但是使用POST接收参数就是乱码.需要使用

request.setCharacterEncoding("utf-8");

来编码.虽然问题是解决了.但是没明白怎么回事.请教有经验的人能否解惑.谢谢.

阅读 3.5k
2 个回答

因为大多数客户端并没有设置一个明确的编码,默认采用的是ISO-8859-1。post能够发送编码的形式很多,比如json,multifile。干脆让开发者自己设置

楼主,现在已经很幸福了,在tomcat 8.5之前,就是设置了

request.setCharacterEncoding("utf-8");

对get请求也无效,只能使用字节流转换的方式。你就知足吧。
Tomcat 默认采用的是ISO-8859-1,所以会乱码,加上吧,要是觉得麻烦,有过滤器解决,就不用每个servlet都设置编码了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题