MySQL数据库编码字符集

不同的编码格式会导致同一字符,在不同字符集下的编码会不同。同样同一编码在不同的字符集中代码的字符也不相同。当你的MySQL返回的字符串的编码格式(字符集)与你的客户工具程序使用的字符集不同时,就会造成乱码。

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。

MySQL中默认字符集的设置有四级:服务器级别 > 数据库级别 > 表级别 > 列级别。如果后者没有显示指定字符集,那么将采用前者的字符集。

MySQL默认字符集 

 MySQL对于字符集的指定可以细化到一个数据库,一张表,一列.传统的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置.

       (1)、编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin1

       (2)、安装MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;

       (3)、启动mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;

Server 1查看数据库的编码方式命令 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       | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)

其中

- character_set_client              客户端来源数据使用的字符集编码; - character_set_connection          为建立连接使用的编码(从客户端接收到数据,然后传输的字符集); - character_set_database            默认数据库的字符集编码; - character_set_filesystem          把os上文件名转化成此字符集,即把 character_set_client转换character_set_filesystem, 默认binary是不做任何转换的 - character_set_results             查询结果字符集编码; - character_set_server              数据库服务器的默认字符集编码; - character_set_system              系统元数据(字段名等)字符集,是为存储系统元数据的字符集; 2、另一组查看数据库编码的命令 mysql> show variables like 'collation%'; +----------------------+-----------------+ | Variable_name        | Value           | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database   | utf8_general_ci | | collation_server     | utf8_bin        | +----------------------+-----------------+ 3 rows in set (0.00 sec)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5a5d609bd01791ca9a5cf29815d4abfa.html