mysql字符集说明

mysql字符集说明

一、mysql中涉及的几个字符集

Ø character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 

Ø character-set-database:数据库字符集。

Ø character-set-table:数据库表字符集。

优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。

Ø character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。

Ø character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。

Ø character_set_connection 连接字符集。

在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。要处理中文,则可以将character-set-server和character-set-client均设置为GB2312,如果要同时处理多国语言,则设置为UTF8。

 

二、解决乱码问题

通常乱码问题是因为字符集不统一而造成的。通常字符character-set-server、character-set-client、character_set_connection需要统一

 

三、修改默认字符集

1、 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,
      如     default-character-set = utf8
            character_set_server = utf8
    修改完后,重启mysql的服务,service mysql restart
    使用 mysql> SHOW VARIABLES LIKE 'character%';查看,发现数据库编码均已改成utf8
+--------------------------+---------------------------------+
| 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        | D:"mysql-5.0.37"share"charsets" |
+--------------------------+---------------------------------+

 

2、 还有一种修改字符集的方法,就是使用mysql的命令
    mysql> SET character_set_client = utf8 ;

    init_connect='SET NAMES utf8' 

posted @ 2013-09-10 15:20  gxcherie  阅读(562)  评论(0编辑  收藏  举报