ITPub博客

首页 > 数据库 > MySQL > MYSQL字符集 【1】

MYSQL字符集 【1】

原创 MySQL 作者:哎呀我的天呐 时间:2015-08-11 18:03:31 0 删除 编辑
5.5之后多了utf8mb4


点击(此处)折叠或打开

  1. mysql> show character set;
  2. +----------+-----------------------------+---------------------+--------+
  3. | Charset  | Description                 | Default collation   | Maxlen |
  4. +----------+-----------------------------+---------------------+--------+
  5. | big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |
  6. | dec8     | DEC West European           | dec8_swedish_ci     |      1 |
  7. | cp850    | DOS West European           | cp850_general_ci    |      1 |
  8. | hp8      | HP West European            | hp8_english_ci      |      1 |
  9. | koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
  10. | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
  11. | latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
  12. | swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |
  13. | ascii    | US ASCII                    | ascii_general_ci    |      1 |
  14. | ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |
  15. | sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |
  16. | hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |
  17. | tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |
  18. | euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |
  19. | koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |
  20. | gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |
  21. | greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |
  22. | cp1250   | Windows Central European    | cp1250_general_ci   |      1 |
  23. | gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |
  24. | latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |
  25. | armscii8 | ARMSCII-8 Armenian          | armscii8_general_ci |      1 |
  26. | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
  27. | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
  28. | cp866    | DOS Russian                 | cp866_general_ci    |      1 |
  29. | keybcs2  | DOS Kamenicky Czech-Slovak  | keybcs2_general_ci  |      1 |
  30. | macce    | Mac Central European        | macce_general_ci    |      1 |
  31. | macroman | Mac West European           | macroman_general_ci |      1 |
  32. | cp852    | DOS Central European        | cp852_general_ci    |      1 |
  33. | latin7   | ISO 8859-13 Baltic          | latin7_general_ci   |      1 |
  34. | utf8mb4  | UTF-8 Unicode               | utf8mb4_general_ci  |      4 |
  35. | cp1251   | Windows Cyrillic            | cp1251_general_ci   |      1 |
  36. | utf16    | UTF-16 Unicode              | utf16_general_ci    |      4 |
  37. | utf16le  | UTF-16LE Unicode            | utf16le_general_ci  |      4 |
  38. | cp1256   | Windows Arabic              | cp1256_general_ci   |      1 |
  39. | cp1257   | Windows Baltic              | cp1257_general_ci   |      1 |
  40. | utf32    | UTF-32 Unicode              | utf32_general_ci    |      4 |
  41. | binary   | Binary pseudo charset       | binary              |      1 |
  42. | geostd8  | GEOSTD8 Georgian            | geostd8_general_ci  |      1 |
  43. | cp932    | SJIS for Windows Japanese   | cp932_japanese_ci   |      2 |
  44. | eucjpms  | UJIS for Windows Japanese   | eucjpms_japanese_ci |      3 |
  45. +----------+-----------------------------+---------------------+--------+
  46. 40 rows in set (0.01 sec)
XXX_general_ci(不区分大小写)
XXX_general_cs(区分大小写)

1 2 3 4 是占用字节数。



MySQL中可以对下面的结构指定字符集。
服务器层:server,数据库层:database,表:table,列:column

下面是数据库的字符集

点击(此处)折叠或打开

  1. mysql> show create database employees;
  2. +-----------+--------------------------------------------------------------------+
  3. | Database  | Create Database                                                    |
  4. +-----------+--------------------------------------------------------------------+
  5. | employees | CREATE DATABASE `employees` /*!40100 DEFAULT CHARACTER SET utf8 */ |
  6. +-----------+--------------------------------------------------------------------+
  7. 1 row in set (0.00 sec)
改客户端的。

点击(此处)折叠或打开

  1. mysql> set names GBK;
  2. Query OK, 0 rows affected (0.00 sec)

  3. mysql> show variables like '%char%';
  4. +--------------------------+----------------------------------+
  5. | Variable_name            | Value                            |
  6. +--------------------------+----------------------------------+
  7. | character_set_client     | gbk                              |
  8. | character_set_connection | gbk                              |
  9. | character_set_database   | utf8                             |
  10. | character_set_filesystem | binary                           |
  11. | character_set_results    | gbk                              |
  12. | character_set_server     | utf8                             |
  13. | character_set_system     | utf8                             |
  14. | character_sets_dir       | /mysql/mysql3306/share/charsets/ |
  15. +--------------------------+----------------------------------+
  16. 8 rows in set (0.00 sec)


CHAR(30)在GBK字符集中,存储30个汉字。
如果可以控制网站的展示形态,可以考虑用gbk或者更小的db2312。
如果控制不了用户的输入:如微博或者基于用户名(可以有汉字的系统)一定要使用utf8

合理的使用字符集可以减少服务器带宽。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29990276/viewspace-1768524/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
从事Oracle/MySQL工作多年,11g OCM,擅长Oracle/MySQL SQL Tuning & DB Performance,高可用方案架构

注册时间:2014-10-30

  • 博文量
    253
  • 访问量
    1826736