在mysql5.5中如何查询字符编码?


本文摘自PHP中文网,作者青灯夜游,侵删。

在mysql5.5中,可以通过“SHOW VARIABLES LIKE 'character%';”语句来查询字符编码,可以显示MySQL客户端使用的字符集、连接数据库时使用的字符集、创建数据库使用的字符集、数据库系统使用的字符集等等。

(推荐教程:mysql视频教程)

字符(Character)是计算机中字母、数字、符号的统称,一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号等。

计算机是以二进制的形式来存储数据的。平时我们在显示器上看到的数字、英文、标点符号、汉字等字符都是二进制数转换之后的结果。

字符集(Character set)定义了字符和二进制的对应关系,为字符分配了唯一的编号。常见的字符集有 ASCII、GBK、IOS-8859-1 等。

字符编码(Character encoding)也可以称为字集码,规定了如何将字符的编号存储到计算机中。

大部分字符集都只对应一种字符编码,例如:ASCII、IOS-8859-1、GB2312、GBK,都是既表示了字符集又表示了对应的字符编码。所以一般情况下,可以将两者视为同义词。Unicode 字符集除外,Unicode 有三种编码方案,即 UTF-8、UTF-16 和 UTF-32。最为常用的是 UTF-8 编码。

在 MySQL 中,可以通过SHOW VARIABLES LIKE 'character%';命令查看当前 MySQL 使用的字符集,命令和运行结果如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

mysql> SHOW VARIABLES LIKE 'character%';

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

| Variable_name            | Value                                                   |

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

| character_set_client     | gbk                                                     |

| character_set_connection | gbk                                                     |

| character_set_database   | latin1                                                  |

| character_set_filesystem | binary                                                  |

| character_set_results    | gbk                                                     |

| character_set_server     | latin1                                                  |

| character_set_system     | utf8                                                    |

| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |

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

8 rows in set, 1 warning (0.01 sec)

上述运行结果说明如下表所示:

名称说明
character_set_clientMySQL 客户端使用的字符集
character_set_connection连接数据库时使用的字符集
character_set_database创建数据库使用的字符集
character_set_filesystemMySQL 服务器文件系统使用的字符集,默认值为 binary,不做任何转换
character_set_results数据库给客户端返回数据时使用的字符集
character_set_serverMySQL 服务器使用的字符集,建议由系统自己管理,不要人为定义
character_set_system数据库系统使用的字符集,默认值为 utf8,不需要设置
character_sets_dir字符集的安装目录

乱码时,不需要关心 character_set_filesystem、character_set_system 和 character_sets_dir 这 3 个系统变量,它们不会影响乱码 。

在 MySQL 中,查看可用字符集的命令和执行过程如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

mysql> SHOW CHARACTER set;

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

| Charset  | Description                     | Default collation   | Maxlen |

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

| big5     | Big5 Traditional Chinese        | big5_chinese_ci     |      2 |

| dec8     | DEC West European               | dec8_swedish_ci     |      1 |

| cp850    | DOS West European               | cp850_general_ci    |      1 |

| hp8      | HP West European                | hp8_english_ci      |      1 |

| koi8r    | KOI8-R Relcom Russian           | koi8r_general_ci    |      1 |

| latin1   | cp1252 West European            | latin1_swedish_ci   |      1 |

| latin2   | ISO 8859-2 Central European     | latin2_general_ci   |      1 |

| swe7     | 7bit Swedish                    | swe7_swedish_ci     |      1 |

| ascii    | US ASCII                        | ascii_general_ci    |      1 |

| ujis     | EUC-JP Japanese                 | ujis_japanese_ci    |      3 |

| sjis     | Shift-JIS Japanese              | sjis_japanese_ci    |      2 |

| hebrew   | ISO 8859-8 Hebrew               | hebrew_general_ci   |      1 |

| tis620   | TIS620 Thai                     | tis620_thai_ci      |      1 |

| euckr    | EUC-KR Korean                   | euckr_korean_ci     |      2 |

| koi8u    | KOI8-U Ukrainian                | koi8u_general_ci    |      1 |

| gb2312   | GB2312 Simplified Chinese       | gb2312_chinese_ci   |      2 |

| greek    | ISO 8859-7 Greek                | greek_general_ci    |      1 |

| cp1250   | Windows Central European        | cp1250_general_ci   |      1 |

| gbk      | GBK Simplified Chinese          | gbk_chinese_ci      |      2 |

| latin5   | ISO 8859-9 Turkish              | latin5_turkish_ci   |      1 |

| armscii8 | ARMSCII-8 Armenian              | armscii8_general_ci |      1 |

| utf8     | UTF-8 Unicode                   | utf8_general_ci     |      3 |

| ucs2     | UCS-2 Unicode                   | ucs2_general_ci     |      2 |

| cp866    | DOS Russian                     | cp866_general_ci    |      1 |

| keybcs2  | DOS Kamenicky Czech-Slovak      | keybcs2_general_ci  |      1 |

| macce    | Mac Central European            | macce_general_ci    |      1 |

| macroman | Mac West European               | macroman_general_ci |      1 |

| cp852    | DOS Central European            | cp852_general_ci    |      1 |

| latin7   | ISO 8859-13 Baltic              | latin7_general_ci   |      1 |

| utf8mb4  | UTF-8 Unicode                   | utf8mb4_general_ci  |      4 |

| cp1251   | Windows Cyrillic                | cp1251_general_ci   |      1 |

| utf16    | UTF-16 Unicode                  | utf16_general_ci    |      4 |

| utf16le  | UTF-16LE Unicode                | utf16le_general_ci  |      4 |

| cp1256   | Windows Arabic                  | cp1256_general_ci   |      1 |

| cp1257   | Windows Baltic                  | cp1257_general_ci   |      1 |

| utf32    | UTF-32 Unicode                  | utf32_general_ci    |      4 |

| binary   | Binary pseudo charset           | binary              |      1 |

| geostd8  | GEOSTD8 Georgian                | geostd8_general_ci  |      1 |

| cp932    | SJIS for Windows Japanese       | cp932_japanese_ci   |      2 |

| eucjpms  | UJIS for Windows Japanese       | eucjpms_japanese_ci |      3 |

| gb18030  | China National Standard GB18030 | gb18030_chinese_ci  |      4 |

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

41 rows in set (0.02 sec)

其中:

  • 第一列(Charset)为字符集名称;

  • 第二列(Description)为字符集描述;

  • 第三列(Default collation)为字符集的默认校对规则;

  • 第四列(Maxlen)表示字符集中一个字符占用的最大字节数。

常用的字符集如下:

  • latin1 支持西欧字符、希腊字符等。

  • gbk 支持中文简体字符。

  • big5 支持中文繁体字符。

  • utf8 几乎支持所有国家的字符。

以上就是在mysql5.5中如何查询字符编码?的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

windows10下mysql5.5数据库命令行中文乱码解决方案

mysql数据库的字符编码问题

mysql怎么改字符编码?

mysql5.5中如何查询字符编码?

mysql server5.5的安装过程是什么

mysql5.5怎么安装不了

mysql怎么更改数据库的字符编码

更多相关阅读请进入《mysql5.5》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...