Mysql之无法查询中文字解决办法

mysql 无法插入中文

看网上说是吧my.ini中的这段代码改成utf8

 

复制代码
 1 [mysql]
 2 
 3 default-character-set=utf8
 4 
 5 
 6 # SERVER SECTION
 7 # ----------------------------------------------------------------------
 8 #
 9 # The following options will be read by the MySQL Server. Make sure that
10 # you have installed the server correctly (see above) so it reads this 
11 # file.
12 #
13 [mysqld]
14 
15 # The TCP/IP Port the MySQL Server will listen on
16 port=3306
17 
18 
19 #Path to installation directory. All paths are usually resolved relative to this.
20 basedir="C:/Program Files/MySQL/MySQL Server 5.0/"
21 
22 #Path to the database root
23 datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"
24 
25 # The default character set that will be used when a new schema or table is
26 # created and no character set is defined
27 character-set-server=utf8
复制代码

改成utf8之后还是不行,后来找到一篇文章帮助解决

http://database.51cto.com/art/201107/279004.htm

MySQL数据库默认编码已经是utf8了, default-character-set = utf8,可是向数据库中表中插入中文时,却老是出现 ....\xB5\xA5\xD1\xA1 for column...这样的错误,经过查阅网上类型的错误后,发现一个很奇妙的现象,接下来我们就来开始介绍。

一、在安装数据库时就设定字符集编码为utf8的环境下

1.在当前字符集编码为:

 

  1. Server characterset:    utf8  
  2.  
  3. Db      characterset:    utf8  
  4.  
  5. Client  characterset:    utf8  
  6.  
  7. Conn.  characterset:    utf8 

 

下创建数据库:

(1)插入中文数据,操作不能成功。

(2)修改字符集编码为:

 

  1. Server characterset:    utf8  
  2.  
  3. Db       characterset:   utf8  
  4.  
  5. Client  characterset:    gbk  
  6.  
  7. Conn.  characterset:    gbk 

 

插入中文数据,显示正常。

二、在安装数据库时就设定字符集编码为gbk的环境下

1.当前字符集编码是:

 

  1. Server characterset:    gbk  
  2.  
  3. Db      characterset:    gbk  
  4.  
  5. Client  characterset:   gbk  
  6.  
  7. Conn.  characterset:   gbk  

 

下创建数据,插入中文数据,操作正常,显示正常。

2.当前字符集编码为utf8:

 

  1. Server characterset:   gbk  
  2.  
  3. Db      characterset:    utf8  
  4.  
  5. Client  characterset:   utf8  
  6.  
  7. Conn.  characterset:   utf8 

 

3.当前字符集编码为utf8:

 

  1. Server characterset:    gbk  
  2.  
  3. Db      characterset:    gbk  
  4.  
  5. Client  characterset:   utf8  
  6.  
  7. Conn.  characterset:   utf8 

 

插入中文数据,操作不能执行。

结论:要想能向数据库正常插入中文,必须满足以下条件:

1.要把字符集设定为能支持中文的gbk或则utf8;

2.把数据库的Client Characterset和Conn. Characterset的字符集都设定为gbk;

根据上面的提示 ,我更改了:

 

  1. SET  character_set_client=gbk;  
  2.  
  3. SET character_set_connection=gbk

 

之后再尝试想数据库插入中文,这时没有出错,能插入可是查询出来是乱码。

最后再更改; 

 

  1. SET character_set_results=gbk

 

这样之后,所有的问题都解决了,能正常插入也能正常显示了。

 

另附查看字符集命令

5.查看字符集设置

mysql> show variables like 'collation_%';

mysql> show variables like 'character_set_%';

修改字符集

mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;

mysql> set character_set_database=utf8;

mysql> set character_set_results=utf8;

mysql> set character_set_server=utf8;

mysql> set character_set_system=utf8;

mysql> set collation_connection=utf8;

mysql> set collation_database=utf8;

mysql> set collation_server=utf8;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值