如何彻底解决jsp页面中文乱码及数据库乱码

如题所述

1、知道自己安装Mysql数据库安装配置时选择了什么编码方式,如果之前安装,现在不太清楚,建议重新安装Mysql数据库,安装配置时选择utf8
(这里有个小技巧:不用卸载Mysql数据,找到安装Mysql数据库目录:D:\MySQL Server 5.1\bin下的MySQLInstanceConfig.exe,双击运行可以进行重新配置安装,并选择utf8编码方式),如图

2、安装成功后,查看编码方式,sql命令如下:
show variables like 'character%';

这里的所有编码方式都要统一为utf8,若某一个不是utf8的编码方式,就要设置为utf8,sql命令如下:set character_set_results=utf8
3、创建数据库并指定数据库的编码方式,sql命令如下:
create database yourDB character set utf8;
4、创建数据库表,也要指定其编码方式
5、如果你的Mysql版本是5.0以下,则还需要在hibernate.cfg.xml配置里面url指定数据库访问连接时的编码方式:
如:url=jdbc:mysql://localhost/db?user=user&password=123456&useUnicode=true&characterEncoding=UTF8
如果Mysql版本是5.0以上,这里的url加不加?user=user&password=123456&useUnicode=true&characterEncoding=UTF8 都没关系
6、写一个字符编码的过滤器,编码方式也要保证跟mysql的字符集一致为UTF-8
注意:在web.xml配置该过滤器时,必须把该过滤器的<filter-mapping>放在struts的映射前面,不然起不到过虑作用
7、所有jsp页面指定编码格式,保证跟mysql的字符集一致为UTF-8
注意:页面里面大小写统一,如<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>,不能是pageEncoding="UTF-8",contentType="text/html; charset=utf-8",添加数据页面也要跟显示数据页面的编码格式要保持一致,不然的话就会出现添加到数据库中没乱码,从数据库中显示出现乱码的情况
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-27
jsp读取数据乱码原因如下:
1、JSP连接数据库语句指定的编码不正确
解决方案:在JSP连接数据库的语句中,带上useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
2、JSP页面没有指定数据提交的编码,就会造成乱码:
解决方案:这种乱码的情况,只需在页面开头加上request.setCharacterEncoding("GBK"); 指定提交的即可。本回答被网友采纳

如何解决网页中文乱码问题
1. JSP页面显示中文乱码问题通常是由于未在JSP文件中指定字符集编码所致。解决方法是在JSP页面的顶部添加以下代码来指定字符集为UTF-8:```jsp ```2. 数据库中文乱码问题可能会导致插入或查询数据库时中文数据出现乱码。解决方法包括在数据库连接字符串中指定字符集为UTF-8,以及在JSP页面中设置响应和...

有谁知道中文乱码问题
只要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。四、数据库的显示乱码 在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它设为binary属性就可以解决中文问题,对于text类型就要用一个编码转换类来处理,实现如下:...

如何处理get\/post提交的中文乱码问题
只要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。四、数据库的显示乱码 在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它设为binary属性就可以解决中文问题,对于text类型就要用一个编码转换类来处理,实现如下:...

JSP页面中文乱码问题解决方法
1.新建两个JSP页面 2.在c.jsp中新建一个表单 3.在d.jsp中接收这个值 4.运行c.jsp 5.输入带中文的参数,点击提交 6.发现接收过来的中文是乱码,英文正常 解释下:JSP默认参数在传输过程中使用的编码为ISO-8859-1 而两个页面使用的都是UTF-8 的编码 7.在d.jsp中新增如下代码 8.再次重复上边...

jsp插入数据库乱码 中文的参数怎么处理
1、JSP页面乱码 这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,2、数据库乱码 这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下: 在数据库连接字符串中加入编码字符集 String Url="jdbc:mysql:\/...

JSP中文乱码问题如何解决?
在Java文件中,若包含中文,且编译成class文件时使用的编码方式与源文件编码不一致,则会产生乱码。解决方法是在编写Java文件时尽量避免中文(注释部分例外),必要时手动指定编码参数(如'-ecoding GBK'或'-ecoding gb2312')进行编译;对于JSP文件,在文件头加入相应的编码声明可解决此类乱码问题。本文...

jsp页面获取中文乱码怎么解决方法
1、在jsp页中加入一条语句:<%@ page contentType="text\/html;charset=gb2312" %>中文显示就正常了。2、对于从网页中的文本框通过String parameter = request.getParameter(“parameter”);方式获得的字符串,均是8859_1的编码,如果想把它显示在网页上就必须得用parameter = new String(parameter....

jsp中处理中文乱码的解决方案有哪些
1、Tomcat 的 server.xml 文件,设置服务器端口工作方式 2、Servlet 和 JavaBean 对字符串字符集处理的统一 3、JSP页面的字符集统一 完成这三点统一,中文想乱码都难,如果使用MySQL的话,数据表也需要做UTF-8统一。修改Tomcat的server.xml文件,该文件位于 tomcat\/conf,红色部分为添加部分,也就是当前...

jsp乱码问题有什么彻底的解决方法
} 于是,在从数据库读出数据过后调用charConvert(rs.getString("colName")),这样就可以正常显示数据库中的中文数据了。 JSP中输出中文的乱码问题 所谓在JSP输出中文,即直接在JSP中输出中文,或者给变量赋中文值再输出等,这种情况下的乱码问题往往是因为没有给JSP页面制定显示字符的编码方式,解决问题如下: ·在JSP...

中文乱码的产生原因
1. 中文乱码产生的主要原因是解码方式和编码方式不匹配。2. 如何避免乱码:- 尽量使用统一的编码。如果是从头开发一个系统,特别是Java开发的,建议从页面到数据库再到配置文件都使用UTF-8进行编码。- 使用`SetCharacterEncodingFilter`。虽然它不是万能的,但没有它会带来很多麻烦。如果是基于Servlet开发...

相似回答