request.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
也是不起作用的,返回的中文还是乱码!!!如果把这个函数改成doPost(HttpServletRequest request, HttpServletResponse response)一切就OK了 。
同样,在用两个JSP页面处理表单输入之所以能显示中文是因为用的是post方法传递的,改成get方法依旧不行 。
由此可见在servlet中用doGet()方法或是在JSP中用get方法进行处理要注意 。这毕竟涉及到要通过浏览器传递参数信息,很有可能引起常用字符集的冲突或是不匹配 。
解决的办法是:
1) 打开tomcat的server.xml文件,找到区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:
2)重启tomcat,一切OK 。
需要加入的原因大家可以去研究 /webapps/tomcat-docs/config/http.html下的这个文件就可以知道原因了 。需要注意的是:这个地方如果你要是用UTF-8的时候在传递的过程中在Tomcat中也是要出现乱码的情况,如果不行的话就换别的字符集 。
(四) JSP页面上有中文,按钮上面也有中文,但是通过服务器查看页面的时候出现乱码:
解决的办法是:首先在JSP文件中不应该直接包含本地化的消息文本,而是应该通过
(五) 写入到数据库是乱码:
解决的方法:要配置一个filter,也就是一个Servelet的过滤器,代码如同第二种时候一样 。
如果你是通过JDBC直接链接数据库的时候,配置的代码如下:jdbc:mysql://localhost:3306/workshopdb?useUnicode=true&characterEncoding=GBK,这样保证到数据库中的代码是不是乱码 。
如果你是通过数据源链接上面同样适合
如果你是配置正确的化,当你输入中文的时候到数据库中就是中文了,有一点要注意的是你在显示数据的页面也是要用这行代码的 。需要注意的是有的前台的人员在写代码的是后用Dreamver写的,写了一个Form的时候把他改成了一个jsp,这样有一个地方要注意了,那就是在Dreamver中Action的提交方式是request的,你需要把他该过来,因为在jsp的提交的过程中紧紧就是POST和GET两种方式,但是这两种方式提交的代码在编码方面还是有很大不同的,这个在后面的地方进行说明
文章摘要:
此处主要讲述关于jsp乱码问题的解决
1、 最基本的乱码问题 。
- 为什么突然不可以极速退款了 为什么不能极速退货了
- 皇冠梨可以代替雪梨煮冰糖吗
- 孕妇可以吃粉丝吗?
- 抖音多少粉丝可以置顶 抖音最低多少粉丝可以拿钱
- 手机微信怎么截图?用什么方法可以截图?
- 日日顺供应链以场景物流模式与用户零距离交互引导消费新趋势
- 为什么qq扩列匹配不到人 qq扩列匹配为什么匹配不了
- 什么情况下可以享受广东高温补贴政策 什么情况下可以享受广东高温补贴
- 微信可以跨国加好友吗
- 抖音延禧攻略版卡路里在哪里可以看?延禧攻略版卡路里歌词分享
