第一步其实没有什么必要,主要是把所有的设成一个编码格式,如果页面用的是utf8,那么把文章的所有gbk改成utf8
将带有中文的数据插入通过java程序插入到表中,中文出现了乱码. 一开始以为是客户端连接时的字符编码不对.
1. 便将hibernate的datasource的URL改为如下:
<property name="url" value="jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=gbk" />(红色部分为修改后代码.) . 修改后,执行添加操作, 中文还是变成了???.
2. 执行以上方之后发现报另一个错误: ERROR 1366 (HY000): Incorrect string value: ''/xE0/xFC/xB8/xS4/xG3/xDA'' for colum
n ''province'' at row 1
于是修改数据库的配置文件:
mysql安装目录下面的my.ini文件 : default-character-set=gbk
character-set-server=gbk
data/performance_schema目录下的: db.opt文件: default-character-set=gbk
default-ollation=gbk_chinese_ci
修改完成之后重启MYSQL服务器. 但又出现了 ???? .
3. 方法二操作失败, 便认为是数据库本身字符编码设置的问题:
使用命令查看数据库的字符编码: mysql> show variables like ''char%'';
+--------------------------+----------------------------------------------------
-----+
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | latin1
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | D:/Program Files/MySQL/MySQL Server 5.5/share/chars
ets/ |
+--------------------------+----------------------------------------------------
-----+
发现数据库的编码为: latin1(MYSQL默认字符编码);
将MYSQL数据库同一设置成: gbk格式, 命令如下:
MYSQL>set character_set_client = ''gbk'' ;
MYSQL>set character_set_connection = ''gbk'' ;
MYSQL>set character_set_results= ''gbk'' ;
MYSQL>set character_set_server= ''gbk'' ;
完成之后,执行mysql> show variables like ''char%'';
+--------------------------+----------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
-----+
| character_set_client | gbk
|
| character_set_connection | gbk
|
| character_set_database | gbk
|
| character_set_filesystem | binary
|
| character_set_results | gbk
|
| character_set_server | gbk
|
| character_set_system | utf8
|
| character_sets_dir | D:/Program Files/MySQL/MySQL Server 5.5/share/chars
ets/ |
然后修改对应的数据表的字符编码: alter table map_data modify province varchar(32) character set gbk;
完成以上步骤之后.终于OK啦.
总结以上步骤:
1.设置客户端地连接编码格式. (命令: set names ''gbk'')
2. 修改数据库的配置文件
3. 使用命令统一一下数据库的字符编码.
分享到:
相关推荐
介绍了Mysql插入中文变为全问号???的问题 解决方法,有需要的朋友可以参考一下
java插入mysql中文乱码解决
1.插入数据显示错误,插入不成功,出现:Incorrect string value: ‘\xCD\xF5\xD5\xBC\xBE\xA9’ for column ‘Sname’ at row 1 2.插入中文,虽然插入成功,但是显示:?? 解决方法: 在my.ini文件中的 [mysqld] ...
个人总结了遇到使用Mysql数据库插入中文时产生乱码问题的解决方法
解决mysql乱码问题。主要是数据库查询出数据中文为问号???的问题。
主要介绍了JSP MySQL插入数据时出现中文乱码问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用C#操作mysql时, 插入数据中文都是乱码,只显示问号,数据库本身使用的是utf-8字符
MySql导出数据乱码的问题,MySql导出数据乱码的问题,MySql导出数据乱码的问题,MySql导出数据乱码的问题,MySql导出数据乱码的问题
数据库是我们软件开发中一个非常重要的组成部分,以前小编使用的是SQL Server,没有遇到过存储的中文是乱码的情况,后来在ssh的项目中使用的是MySQL的项目,遇到了乱码的问题,只要向数据库中存储中文数据会是...
如何向mysql中插入数据?
解决Navicat for MySql 导入EXCEL中文乱码问题解决的有效方法
解决大部分数据插入数据库出现乱码的情况,包括oracle数据库,MYsql等
mysql插入记录防止乱码,这是我在编程时通过网上下载来的资料,解决了我用VFP或者JAVA插入记录的问题。
用asp读取MYSQL数据库出现乱码,读取到的汉字都是????
mysql是我们项目中非经常常使用的数据型数据库,下面这篇文章主要给大家介绍了关于mysql中插入表数据中文乱码问题的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习...
这是我积累的关于mysql的数据乱码的一写经验,有兴趣的可以看看
数据存入数据库前,汉字正确 MySQL存数据时乱码解决
linux下mysql数据库乱码问题