mysql 中文乱码

来源:互联网 发布:office 2013 mac 编辑:程序博客网 时间:2024/05/01 04:56

 


SHOW VARIABLES LIKE 'character%' ;  //查看编码情况

注意当未进入database, 与进入的结果是不一定一样. 如果不一样,可以先删除database ,适当的时候可以重启MySQL

 

set @@character_set_database = 'gbk';  //设置编码

 

在把my.ini的2个  default-character-set=gbk的都给设置了

该3者要一致

character_set_connection      客户端与服务器端连接采用的字符集
character_set_results             SELECT  查询返回数据的字符集
character_set_database         数据库采用的字符

 

mysql> use oa;
Database changed
mysql> SHOW VARIABLES LIKE 'character%' ;
+--------------------------+---------------------------------------------------+

| 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 Server 5.1/share/charsets/ |

+--------------------------+---------------------------------------------------+

 

 

 

 

但是,这里还要注意character_set_results变量的值,character_set_results的字符值是用来显示返回给用户的编码的。
例 如,你的数据库(character_set_database)用的是utf8的字符集,那么你就要保证 character_set_client,character_set_connection也是utf8的字符集。而你的程序也许采用的并不是 utf8,比如你的程序用的是gbk,那么你若把character_set_results也设置为utf8的话就会出现乱码问题。此时你应该把 character_set_results设置为gbk。这样就能保证数据库返回的结果与你的程序的编码一致。

 

原创粉丝点击