在jsp页面中的form请求中method为post,提交后一直显示中文乱码!!

在jsp页面中的form请求中method为post,提交后一直显示中文乱码!!

# 具体遇到的问题
在jsp页面中的form请求中method为post,提交后一直显示中文乱码!!,明明用了

request.setCharacterEncoding("utf-8");

过滤器中也用了request.setCharacterEncoding("utf-8");

但是提示就是中文化码

在doPost方法体首行也用了request.setCharacterEncoding("utf-8");

最终显示的还是中文乱码

# 报错信息的截图

http://img1.sycdn.imooc.com//climg/5fca599d09c5334510440422.jpg

http://img1.sycdn.imooc.com//climg/5fca599e0906854d14330764.jpg


# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2020-12-05 11:15:06

同学你好,设置request.setCharacterEncoding("UTF-8");后,可以解决乱码问题。

关于同学出现的乱码问题,建议同学查看一下过滤器是否生效,如果doPost()方法中也设置了request.setCharacterEncoding("UTF-8");,查看是否在doPost()方法的第一行。

另外建议同学查看一下浏览器中使用的是否是UTF-8编码,如:

http://img1.sycdn.imooc.com//climg/5fcafb040904ad5704120166.jpg

祝学习愉快~

  • 提问者 慕虎5485268 #1

    按你说的都写了,还是显示乱码,只有在文件中强制转化才行,为什么?

    String categoryName = new String(request.getParameter("categoryName").getBytes("iso-8859-1"),"utf-8");

    这样强制转换后才能正常显示中文


    2020-12-09 23:50:45
  • 提问者 慕虎5485268 #2

    http://img1.sycdn.imooc.com//climg/5fd0f8dc09c3487c11900721.jpg

    2020-12-10 00:18:39
  • 好帮手慕阿满 回复 提问者 慕虎5485268 #3

    同学你好,request.setCharacter("UTF-8");应该放在方法的最前边,即可HttpSession session= request.getSession();前边。建议同学修改一下再试试。

    祝学习愉快~

    2020-12-10 14:16:01
慕虎5485268 提问者 2020-12-04 23:53:48

String categoryName = new String(request.getParameter("categoryName").getBytes("iso-8859-1"),"utf-8");

这样强制转换后才能正常显示中文,过滤器中request.setCharacterEncoding("utf-8")的难道对form且post这种没用吗?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师