色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql打印臺輸出中文亂碼

方一強2年前9瀏覽0評論

MySQL 是一款流行的關(guān)系型數(shù)據(jù)庫,它具有良好的跨平臺性和穩(wěn)定性,但在使用過程中遇到中文亂碼的情況也是十分常見的。

在 MySQL 的打印臺輸出中文亂碼可能會因為多種因素所導(dǎo)致,例如:

1. MySQL 服務(wù)的字符集設(shè)置不正確;
2. 數(shù)據(jù)庫表中的字符集設(shè)置與 MySQL 服務(wù)不一致;
3. 數(shù)據(jù)庫連接的字符集設(shè)置與 MySQL 服務(wù)不一致;
4. MySQL 客戶端的字符集設(shè)置不正確;
5. 數(shù)據(jù)庫備份和還原時字符集設(shè)置不一致。

為了避免中文亂碼的情況,我們可以將 MySQL 的字符集設(shè)置成 utf8mb4。這個字符集是 MySQL 5.5.3 版本引入的,支持存儲 Emoji 表情等特殊字符。

mysql>SHOW VARIABLES LIKE '%character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

上面的代碼可以查看 MySQL 服務(wù)的字符集設(shè)置。

如果 MySQL 數(shù)據(jù)庫表已經(jīng)創(chuàng)建,并且其中的數(shù)據(jù)已經(jīng)包含了中文或特殊字符,需要將表的字符集設(shè)置與 MySQL 服務(wù)一致。

mysql>ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

執(zhí)行上述語句之后,表的字符集就被設(shè)置成了 utf8mb4, 如果表中原有的數(shù)據(jù)還是亂碼,可以使用以下語句進行更新。

mysql>UPDATE table_name SET field_name = CONVERT(CAST(CONVERT(field_name USING gbk) AS BINARY) USING utf8mb4) WHERE 1;

最后,查看 MySQL 客戶端的字符集設(shè)置。

mysql>SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

通過以上設(shè)置,MySQL 打印臺輸出中的中文就不會亂碼了。