request.getParameter();乱码
用request.getParameter();获取到的中文姓名是乱码,页面已经设置utf-8
正在回答 回答被采纳积分+1
我遇到的问题和你差不多,无论是从前端js->servlet还是servlet返回数据给js,都遇到了中文乱码,经过一系列的查找资料,给出以下解决方案,希望可以帮到你(代码经过简练):
首先在doGet的request获取数据之前,写入request.setCharacterEncoding("utf-8");这样能够保证你接收到的数据不会中文乱码,最后进行到最后一步:
response.getOutputStream().write(JSONObject.toString().getByte("UTF-8"));
getByate的时候传入参数utf-8,这样两个一起就能够使得js->servlet和servlet->js不乱码;
但是为了保险起见,response.getCharacterEncoding("utf-8");这些东西还是要写上去的,因此可以在src中新建一个包,新建一个类,重写doGet方法,然后把:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/json");
response.setCharacterEncoding("UTF-8");
统统写入方法中,最后在需要使用的servlet中继承这个类,doGet方法中调用super.doGet()即可
- 参与学习 716 人
- 提交作业 185 份
- 解答问题 1363 个
会Java?懂前端基础?想学后台开发?那么,赶快来学习《Java Web入门》路径吧。本路径主要介绍Java Web的基础知识,并配有大量案例,定会让你收获多多!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星