• mysql 字符集设置


    字符集:

    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 | +----------+-----------------------------+---------------------+--------+ 40 rows in set (0.00 sec)
    查看当前MYSQL 服务器字符集设置

    mysql> SHOW VARIABLES LIKE "%character%"; +--------------------------+------------------------------------+ | Variable_name | Value | +--------------------------+------------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql56/share/charsets/ | +--------------------------+------------------------------------+ 8 rows in set (0.00 sec)

    字符集规则设置:

    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
    | dec8_swedish_ci          | dec8     |   3 | Yes     | Yes      |       1 |
    | dec8_bin                 | dec8     |  69 |         | Yes      |       1 |
    | cp850_general_ci         | cp850    |   4 | Yes     | Yes      |       1 |
    | cp850_bin                | cp850    |  80 |         | Yes      |       1 |
    | hp8_english_ci           | hp8      |   6 | Yes     | Yes      |       1 |
    | hp8_bin                  | hp8      |  72 |         | Yes      |       1 |
    | koi8r_general_ci         | koi8r    |   7 | Yes     | Yes      |       1 |
    | koi8r_bin                | koi8r    |  74 |         | Yes      |       1 |
    | latin1_german1_ci        | latin1   |   5 |         | Yes      |       1 |
    | latin1_swedish_ci        | latin1   |   8 | Yes     | Yes      |       1 |
    | latin1_danish_ci         | latin1   |  15 |         | Yes      |       1 |
    | latin1_german2_ci        | latin1   |  31 |         | Yes      |       2 |
    | latin1_bin               | latin1   |  47 |         | Yes      |       1 |
    | latin1_general_ci        | latin1   |  48 |         | Yes      |       1 |
    | latin1_general_cs        | latin1   |  49 |         | Yes      |       1 |
    | latin1_spanish_ci        | latin1   |  94 |         | Yes      |       1 |
    | latin2_czech_cs          | latin2   |   2 |         | Yes      |       4 |
    | latin2_general_ci        | latin2   |   9 | Yes     | Yes      |       1 |
    | latin2_hungarian_ci      | latin2   |  21 |         | Yes      |       1 |
    | latin2_croatian_ci       | latin2   |  27 |         | Yes      |       1 |
    | latin2_bin               | latin2   |  77 |         | Yes      |       1 |
    | swe7_swedish_ci          | swe7     |  10 | Yes     | Yes      |       1 |
    | swe7_bin                 | swe7     |  82 |         | Yes      |       1 |
    | ascii_general_ci         | ascii    |  11 | Yes     | Yes      |       1 |
    | ascii_bin                | ascii    |  65 |         | Yes      |       1 |
    | ujis_japanese_ci         | ujis     |  12 | Yes     | Yes      |       1 |
    | ujis_bin                 | ujis     |  91 |         | Yes      |       1 |
    | sjis_japanese_ci         | sjis     |  13 | Yes     | Yes      |       1 |
    | sjis_bin                 | sjis     |  88 |         | Yes      |       1 |
    | hebrew_general_ci        | hebrew   |  16 | Yes     | Yes      |       1 |
    | hebrew_bin               | hebrew   |  71 |         | Yes      |       1 |
    | tis620_thai_ci           | tis620   |  18 | Yes     | Yes      |       4 |
    | tis620_bin               | tis620   |  89 |         | Yes      |       1 |
    | euckr_korean_ci          | euckr    |  19 | Yes     | Yes      |       1 |
    | euckr_bin                | euckr    |  85 |         | Yes      |       1 |
    | koi8u_general_ci         | koi8u    |  22 | Yes     | Yes      |       1 |
    | koi8u_bin                | koi8u    |  75 |         | Yes      |       1 |
    | gb2312_chinese_ci        | gb2312   |  24 | Yes     | Yes      |       1 |
    | gb2312_bin               | gb2312   |  86 |         | Yes      |       1 |
    | greek_general_ci         | greek    |  25 | Yes     | Yes      |       1 |
    | greek_bin                | greek    |  70 |         | Yes      |       1 |
    | cp1250_general_ci        | cp1250   |  26 | Yes     | Yes      |       1 |
    | cp1250_czech_cs          | cp1250   |  34 |         | Yes      |       2 |
    | cp1250_croatian_ci       | cp1250   |  44 |         | Yes      |       1 |
    | cp1250_bin               | cp1250   |  66 |         | Yes      |       1 |
    | cp1250_polish_ci         | cp1250   |  99 |         | Yes      |       1 |
    | gbk_chinese_ci           | gbk      |  28 | Yes     | Yes      |       1 |
    | gbk_bin                  | gbk      |  87 |         | Yes      |       1 |
    | latin5_turkish_ci        | latin5   |  30 | Yes     | Yes      |       1 |
    | latin5_bin               | latin5   |  78 |         | Yes      |       1 |
    | armscii8_general_ci      | armscii8 |  32 | Yes     | Yes      |       1 |
    | armscii8_bin             | armscii8 |  64 |         | Yes      |       1 |
    | utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
    | utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
    | utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
    | utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
    | utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
    | utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
    | utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
    | utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
    | utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
    | utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
    | utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
    | utf8_turkish_ci          | utf8     | 201 |         | Yes      |       8 |
    | utf8_czech_ci            | utf8     | 202 |         | Yes      |       8 |
    | utf8_danish_ci           | utf8     | 203 |         | Yes      |       8 |
    | utf8_lithuanian_ci       | utf8     | 204 |         | Yes      |       8 |
    | utf8_slovak_ci           | utf8     | 205 |         | Yes      |       8 |
    | utf8_spanish2_ci         | utf8     | 206 |         | Yes      |       8 |
    | utf8_roman_ci            | utf8     | 207 |         | Yes      |       8 |
    | utf8_persian_ci          | utf8     | 208 |         | Yes      |       8 |
    | utf8_esperanto_ci        | utf8     | 209 |         | Yes      |       8 |
    | utf8_hungarian_ci        | utf8     | 210 |         | Yes      |       8 |
    | utf8_sinhala_ci          | utf8     | 211 |         | Yes      |       8 |
    | utf8_german2_ci          | utf8     | 212 |         | Yes      |       8 |
    | utf8_croatian_ci         | utf8     | 213 |         | Yes      |       8 |
    | utf8_unicode_520_ci      | utf8     | 214 |         | Yes      |       8 |
    | utf8_vietnamese_ci       | utf8     | 215 |         | Yes      |       8 |
    | utf8_general_mysql500_ci | utf8     | 223 |         | Yes      |       1 |
    | ucs2_general_ci          | ucs2     |  35 | Yes     | Yes      |       1 |
    | ucs2_bin                 | ucs2     |  90 |         | Yes      |       1 |
    | ucs2_unicode_ci          | ucs2     | 128 |         | Yes      |       8 |
    | ucs2_icelandic_ci        | ucs2     | 129 |         | Yes      |       8 |
    | ucs2_latvian_ci          | ucs2     | 130 |         | Yes      |       8 |
    | ucs2_romanian_ci         | ucs2     | 131 |         | Yes      |       8 |
    | ucs2_slovenian_ci        | ucs2     | 132 |         | Yes      |       8 |
    | ucs2_polish_ci           | ucs2     | 133 |         | Yes      |       8 |
    | ucs2_estonian_ci         | ucs2     | 134 |         | Yes      |       8 |
    | ucs2_spanish_ci          | ucs2     | 135 |         | Yes      |       8 |
    | ucs2_swedish_ci          | ucs2     | 136 |         | Yes      |       8 |
    | ucs2_turkish_ci          | ucs2     | 137 |         | Yes      |       8 |
    | ucs2_czech_ci            | ucs2     | 138 |         | Yes      |       8 |
    | ucs2_danish_ci           | ucs2     | 139 |         | Yes      |       8 |
    | ucs2_lithuanian_ci       | ucs2     | 140 |         | Yes      |       8 |
    | ucs2_slovak_ci           | ucs2     | 141 |         | Yes      |       8 |
    | ucs2_spanish2_ci         | ucs2     | 142 |         | Yes      |       8 |
    | ucs2_roman_ci            | ucs2     | 143 |         | Yes      |       8 |
    | ucs2_persian_ci          | ucs2     | 144 |         | Yes      |       8 |
    | ucs2_esperanto_ci        | ucs2     | 145 |         | Yes      |       8 |
    | ucs2_hungarian_ci        | ucs2     | 146 |         | Yes      |       8 |
    | ucs2_sinhala_ci          | ucs2     | 147 |         | Yes      |       8 |
    | ucs2_german2_ci          | ucs2     | 148 |         | Yes      |       8 |
    | ucs2_croatian_ci         | ucs2     | 149 |         | Yes      |       8 |
    | ucs2_unicode_520_ci      | ucs2     | 150 |         | Yes      |       8 |
    | ucs2_vietnamese_ci       | ucs2     | 151 |         | Yes      |       8 |
    | ucs2_general_mysql500_ci | ucs2     | 159 |         | Yes      |       1 |
    | cp866_general_ci         | cp866    |  36 | Yes     | Yes      |       1 |
    | cp866_bin                | cp866    |  68 |         | Yes      |       1 |
    | keybcs2_general_ci       | keybcs2  |  37 | Yes     | Yes      |       1 |
    | keybcs2_bin              | keybcs2  |  73 |         | Yes      |       1 |
    | macce_general_ci         | macce    |  38 | Yes     | Yes      |       1 |
    | macce_bin                | macce    |  43 |         | Yes      |       1 |
    | macroman_general_ci      | macroman |  39 | Yes     | Yes      |       1 |
    | macroman_bin             | macroman |  53 |         | Yes      |       1 |
    | cp852_general_ci         | cp852    |  40 | Yes     | Yes      |       1 |
    | cp852_bin                | cp852    |  81 |         | Yes      |       1 |
    | latin7_estonian_cs       | latin7   |  20 |         | Yes      |       1 |
    | latin7_general_ci        | latin7   |  41 | Yes     | Yes      |       1 |
    | latin7_general_cs        | latin7   |  42 |         | Yes      |       1 |
    | latin7_bin               | latin7   |  79 |         | Yes      |       1 |
    | utf8mb4_general_ci       | utf8mb4  |  45 | Yes     | Yes      |       1 |
    | utf8mb4_bin              | utf8mb4  |  46 |         | Yes      |       1 |
    | utf8mb4_unicode_ci       | utf8mb4  | 224 |         | Yes      |       8 |
    | utf8mb4_icelandic_ci     | utf8mb4  | 225 |         | Yes      |       8 |
    | utf8mb4_latvian_ci       | utf8mb4  | 226 |         | Yes      |       8 |
    | utf8mb4_romanian_ci      | utf8mb4  | 227 |         | Yes      |       8 |
    | utf8mb4_slovenian_ci     | utf8mb4  | 228 |         | Yes      |       8 |
    | utf8mb4_polish_ci        | utf8mb4  | 229 |         | Yes      |       8 |
    | utf8mb4_estonian_ci      | utf8mb4  | 230 |         | Yes      |       8 |
    | utf8mb4_spanish_ci       | utf8mb4  | 231 |         | Yes      |       8 |
    | utf8mb4_swedish_ci       | utf8mb4  | 232 |         | Yes      |       8 |
    | utf8mb4_turkish_ci       | utf8mb4  | 233 |         | Yes      |       8 |
    | utf8mb4_czech_ci         | utf8mb4  | 234 |         | Yes      |       8 |
    | utf8mb4_danish_ci        | utf8mb4  | 235 |         | Yes      |       8 |
    | utf8mb4_lithuanian_ci    | utf8mb4  | 236 |         | Yes      |       8 |
    | utf8mb4_slovak_ci        | utf8mb4  | 237 |         | Yes      |       8 |
    | utf8mb4_spanish2_ci      | utf8mb4  | 238 |         | Yes      |       8 |
    | utf8mb4_roman_ci         | utf8mb4  | 239 |         | Yes      |       8 |
    | utf8mb4_persian_ci       | utf8mb4  | 240 |         | Yes      |       8 |
    | utf8mb4_esperanto_ci     | utf8mb4  | 241 |         | Yes      |       8 |
    | utf8mb4_hungarian_ci     | utf8mb4  | 242 |         | Yes      |       8 |
    | utf8mb4_sinhala_ci       | utf8mb4  | 243 |         | Yes      |       8 |
    | utf8mb4_german2_ci       | utf8mb4  | 244 |         | Yes      |       8 |
    | utf8mb4_croatian_ci      | utf8mb4  | 245 |         | Yes      |       8 |
    | utf8mb4_unicode_520_ci   | utf8mb4  | 246 |         | Yes      |       8 |
    | utf8mb4_vietnamese_ci    | utf8mb4  | 247 |         | Yes      |       8 |
    | cp1251_bulgarian_ci      | cp1251   |  14 |         | Yes      |       1 |
    | cp1251_ukrainian_ci      | cp1251   |  23 |         | Yes      |       1 |
    | cp1251_bin               | cp1251   |  50 |         | Yes      |       1 |
    | cp1251_general_ci        | cp1251   |  51 | Yes     | Yes      |       1 |
    | cp1251_general_cs        | cp1251   |  52 |         | Yes      |       1 |
    | utf16_general_ci         | utf16    |  54 | Yes     | Yes      |       1 |
    | utf16_bin                | utf16    |  55 |         | Yes      |       1 |
    | utf16_unicode_ci         | utf16    | 101 |         | Yes      |       8 |
    | utf16_icelandic_ci       | utf16    | 102 |         | Yes      |       8 |
    | utf16_latvian_ci         | utf16    | 103 |         | Yes      |       8 |
    | utf16_romanian_ci        | utf16    | 104 |         | Yes      |       8 |
    | utf16_slovenian_ci       | utf16    | 105 |         | Yes      |       8 |
    | utf16_polish_ci          | utf16    | 106 |         | Yes      |       8 |
    | utf16_estonian_ci        | utf16    | 107 |         | Yes      |       8 |
    | utf16_spanish_ci         | utf16    | 108 |         | Yes      |       8 |
    | utf16_swedish_ci         | utf16    | 109 |         | Yes      |       8 |
    | utf16_turkish_ci         | utf16    | 110 |         | Yes      |       8 |
    | utf16_czech_ci           | utf16    | 111 |         | Yes      |       8 |
    | utf16_danish_ci          | utf16    | 112 |         | Yes      |       8 |
    | utf16_lithuanian_ci      | utf16    | 113 |         | Yes      |       8 |
    | utf16_slovak_ci          | utf16    | 114 |         | Yes      |       8 |
    | utf16_spanish2_ci        | utf16    | 115 |         | Yes      |       8 |
    | utf16_roman_ci           | utf16    | 116 |         | Yes      |       8 |
    | utf16_persian_ci         | utf16    | 117 |         | Yes      |       8 |
    | utf16_esperanto_ci       | utf16    | 118 |         | Yes      |       8 |
    | utf16_hungarian_ci       | utf16    | 119 |         | Yes      |       8 |
    | utf16_sinhala_ci         | utf16    | 120 |         | Yes      |       8 |
    | utf16_german2_ci         | utf16    | 121 |         | Yes      |       8 |
    | utf16_croatian_ci        | utf16    | 122 |         | Yes      |       8 |
    | utf16_unicode_520_ci     | utf16    | 123 |         | Yes      |       8 |
    | utf16_vietnamese_ci      | utf16    | 124 |         | Yes      |       8 |
    | utf16le_general_ci       | utf16le  |  56 | Yes     | Yes      |       1 |
    | utf16le_bin              | utf16le  |  62 |         | Yes      |       1 |
    | cp1256_general_ci        | cp1256   |  57 | Yes     | Yes      |       1 |
    | cp1256_bin               | cp1256   |  67 |         | Yes      |       1 |
    | cp1257_lithuanian_ci     | cp1257   |  29 |         | Yes      |       1 |
    | cp1257_bin               | cp1257   |  58 |         | Yes      |       1 |
    | cp1257_general_ci        | cp1257   |  59 | Yes     | Yes      |       1 |
    | utf32_general_ci         | utf32    |  60 | Yes     | Yes      |       1 |
    | utf32_bin                | utf32    |  61 |         | Yes      |       1 |
    | utf32_unicode_ci         | utf32    | 160 |         | Yes      |       8 |
    | utf32_icelandic_ci       | utf32    | 161 |         | Yes      |       8 |
    | utf32_latvian_ci         | utf32    | 162 |         | Yes      |       8 |
    | utf32_romanian_ci        | utf32    | 163 |         | Yes      |       8 |
    | utf32_slovenian_ci       | utf32    | 164 |         | Yes      |       8 |
    | utf32_polish_ci          | utf32    | 165 |         | Yes      |       8 |
    | utf32_estonian_ci        | utf32    | 166 |         | Yes      |       8 |
    | utf32_spanish_ci         | utf32    | 167 |         | Yes      |       8 |
    | utf32_swedish_ci         | utf32    | 168 |         | Yes      |       8 |
    | utf32_turkish_ci         | utf32    | 169 |         | Yes      |       8 |
    | utf32_czech_ci           | utf32    | 170 |         | Yes      |       8 |
    | utf32_danish_ci          | utf32    | 171 |         | Yes      |       8 |
    | utf32_lithuanian_ci      | utf32    | 172 |         | Yes      |       8 |
    | utf32_slovak_ci          | utf32    | 173 |         | Yes      |       8 |
    | utf32_spanish2_ci        | utf32    | 174 |         | Yes      |       8 |
    | utf32_roman_ci           | utf32    | 175 |         | Yes      |       8 |
    | utf32_persian_ci         | utf32    | 176 |         | Yes      |       8 |
    | utf32_esperanto_ci       | utf32    | 177 |         | Yes      |       8 |
    | utf32_hungarian_ci       | utf32    | 178 |         | Yes      |       8 |
    | utf32_sinhala_ci         | utf32    | 179 |         | Yes      |       8 |
    | utf32_german2_ci         | utf32    | 180 |         | Yes      |       8 |
    | utf32_croatian_ci        | utf32    | 181 |         | Yes      |       8 |
    | utf32_unicode_520_ci     | utf32    | 182 |         | Yes      |       8 |
    | utf32_vietnamese_ci      | utf32    | 183 |         | Yes      |       8 |
    | binary                   | binary   |  63 | Yes     | Yes      |       1 |
    | geostd8_general_ci       | geostd8  |  92 | Yes     | Yes      |       1 |
    | geostd8_bin              | geostd8  |  93 |         | Yes      |       1 |
    | cp932_japanese_ci        | cp932    |  95 | Yes     | Yes      |       1 |
    | cp932_bin                | cp932    |  96 |         | Yes      |       1 |
    | eucjpms_japanese_ci      | eucjpms  |  97 | Yes     | Yes      |       1 |
    | eucjpms_bin              | eucjpms  |  98 |         | Yes      |       1 |
    +--------------------------+----------+-----+---------+----------+---------+
    219 rows in set (0.01 sec)
    
    mysql> 
    查看当前字符集规则:

    mysql> SHOW VARIABLES LIKE "%collation%"; +----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+--------------------+ 3 rows in set (0.01 sec)

    字符集修改:

    set names utf8mb4

    修改了:
    character_set_client,character_set_connection ,character_set_results 


    mysql> show variables like "%character%"; +--------------------------+------------------------------------+ | Variable_name | Value | +--------------------------+------------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql56/share/charsets/ |

    字符集修改2

         mysql> SET character_set_client = utf8 ;
         mysql> SET character_set_connection = utf8 ;
         mysql> SET character_set_database = utf8 ;
         mysql> SET character_set_results = utf8 ;
         mysql> SET character_set_server = utf8 ;
    mysql
    > SET collation_connection = utf8 ; mysql> SET collation_database = utf8 ; mysql> SET collation_server = utf8 ;
    my.cnf
      1. [client]
      2. default-character-set=utf8
      3.  
      4. [mysql]
      5. default-character-set=utf8
      6.  
      7. [mysqld]
      8. init_connect='SET collation_connection = utf8_unicode_ci'
      9. init_connect='SET NAMES utf8'
      10. character-set-server=utf8
      11. collation-server=utf8_unicode_ci
      12. skip-character-set-client-handshake
     

     

     

    MySQL中的字符集转换过程

    1. MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;

    2. 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:

    • 使用每个数据字段的CHARACTER SET设定值;

    • 若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);

    • 若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;

    • 若上述值不存在,则使用character_set_server设定值。

    3. 将操作结果从内部操作字符集转换为character_set_results。

    【MySQL】深入解析MySQL字符集设置

    常见问题解析

    • 向默认字符集为utf8的数据表插入utf8编码的数据前没有设置连接字符集,查询时设置连接字符集为utf8

    – 插入时根据MySQL服务器的默认设置,character_set_client、character_set_connection和character_set_results均为latin1;

    – 插入操作的数据将经过latin1=>latin1=>utf8的字符集转换过程,这一过程中每个插入的汉字都会从原始的3个字节变成6个字节保存;

    – 查询时的结果将经过utf8=>utf8的字符集转换过程,将保存的6个字节原封不动返回,产生乱码……

     

    【MySQL】深入解析MySQL字符集设置

    • 向默认字符集为latin1的数据表插入utf8编码的数据前设置了连接字符集为utf8

    – 插入时根据连接字符集设置,character_set_client、character_set_connection和character_set_results均为utf8;

    – 插入数据将经过utf8=>utf8=>latin1的字符集转换,若原始数据中含有u0000~u00ff范围以外的Unicode字 符,会因为无法在latin1字符集中表示而被转换为“?”(0x3F)符号,以后查询时不管连接字符集设置如何都无法恢复其内容了。

    【MySQL】深入解析MySQL字符集设置

  • 相关阅读:
    在tmux中如何复制文本并粘贴到某处?
    linux下的用户密码文件/etc/shadow
    linux下openssl命令解析
    第 27 章 CSS 传统布局[下]
    第 27 章 CSS 传统布局[上]
    第 26 章 CSS3 动画效果
    第 25 章 CSS3 过渡效果
    第 24 章 CSS3 变形效果[下]
    第 23 章 CSS3 边框图片效果
    第 22 章 CSS3 渐变效果
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5598058.html
Copyright © 2020-2023  润新知