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、 最基本的乱码问题 。
推荐阅读
- 风云岛行动初始英雄选哪个 风牧远大锅龙音子选谁
- 网上已选座还用去值机柜台吗
- lol剑皇是什么梗
- 风云岛行动新英雄安魁介绍 安魁技能是什么
- 京东怎么收藏宝贝
- 风云岛行动段位有哪些 段位从高到低介绍
- Win7电脑提示runtime error怎么解决?
- 属鸡和属马的合得来吗
- 风云岛行动打击力度和硬直抵抗介绍 什么是打击力度和硬直抵抗