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之前肯定是正确的中文字符,也就是说问题大部分可能还是出在后面。
然后再命令行中直接插入汉字,没问题。。。问题在哪儿呢?
展开
 我来答
百度网友6724e5c
2014-04-12 · TA获得超过376个赞
知道答主
回答量:60
采纳率:0%
帮助的人:78.3万
展开全部
你看看你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进行操作就可以了。)
更多追问追答
追问
我直接操作数据库的时候是可以的啊,中文没乱码。。。而且查了那个数据库的编码是utf8,用一个show creat database xxx
追答
你是用的Struts还是servlet?还是纯jsp?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式