javaweb向数据库写入mysql数据出现中文乱码
找了一晚上都没找到原因,奇了怪了:我特意查了我是linux系统,表的编码方式是utf8;jsp的输入框编码方式也是utf8;hibernate.cfg.xml中间有一句h...
找了一晚上都没找到原因,奇了怪了:我特意查了
我是linux系统,表的编码方式是utf8;jsp的输入框编码方式也是utf8;
hibernate.cfg.xml中间有一句
hibernate.cfg.xml配置文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
应该也是utf8;
断点跟踪可以确认在hibernate之前肯定是正确的中文字符,也就是说问题大部分可能还是出在后面。
然后再命令行中直接插入汉字,没问题。。。问题在哪儿呢? 展开
我是linux系统,表的编码方式是utf8;jsp的输入框编码方式也是utf8;
hibernate.cfg.xml中间有一句
hibernate.cfg.xml配置文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
应该也是utf8;
断点跟踪可以确认在hibernate之前肯定是正确的中文字符,也就是说问题大部分可能还是出在后面。
然后再命令行中直接插入汉字,没问题。。。问题在哪儿呢? 展开
展开全部
你看看你mysql数据库编码是不是utf-8
在mysql中运行
show variables like 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)
看看你的编码 mysql默认是latin1
打开mysql安装目录,里面有个my.ini文件,
打开这个文件,里面有两处字符集的设置,默认是拉丁,
建议你所想改的,如:utf8或gbk
然后启动mysql服务,
以后创建的数据库默认字符集就是ok了
(重启时,打开MySQLAdministrator的Service Control进行操作就可以了。)
在mysql中运行
show variables like 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)
看看你的编码 mysql默认是latin1
打开mysql安装目录,里面有个my.ini文件,
打开这个文件,里面有两处字符集的设置,默认是拉丁,
建议你所想改的,如:utf8或gbk
然后启动mysql服务,
以后创建的数据库默认字符集就是ok了
(重启时,打开MySQLAdministrator的Service Control进行操作就可以了。)
更多追问追答
追问
我直接操作数据库的时候是可以的啊,中文没乱码。。。而且查了那个数据库的编码是utf8,用一个show creat database xxx
追答
你是用的Struts还是servlet?还是纯jsp?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询