1. 程式人生 > >source命令 導入.sql文件時,中文亂碼 或者是註釋亂碼

source命令 導入.sql文件時,中文亂碼 或者是註釋亂碼

如果 show html char ted 記事本 .cn 註釋 關於

1、source命令 導入.sql文件時,中文亂碼 或者是註釋亂碼

首先進入dos命令,進入mysql數據庫,之後use 數據庫;之後查看你的mysql數據庫編碼

如下命令:模糊查詢變量character_set_database的值
mysql> show variables like “character_set_database”;
+————————+——-+
| Variable_name | Value |
+————————+——-+

| character_set_database | utf8 |
+————————+——-+
1 row in set (0.00 sec)

保證sql文件的編碼和數據庫的編碼一致
已經知道是utf8編碼,因此,此時確保你的.sql文件的編碼為utf-8,如果不知道可以使用windows下的記事本的文件另存為,或者使用notepad++修改文件的編碼類型

然後 如下命令
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)


最後導入即可
mysql> source sql路徑

1、set names ‘xxx‘ 命令

可以看到改變的是 character_set_client、character_set_connection、character_set_results

它們都是和 client 相關的。而 真正server端的編碼字符集,character_set_server 和 character_set_database ,set names ‘xxx‘ 根本無法修改。

set names ‘xxx‘ 命令可以使 character_set_client、character_set_connection、character_set_results 三者統一:

2、character_set_server 和 character_set_database

二者 的作用其實是相同的,都是設置 字符最終存儲到磁盤時,使用的編碼字符集。只不過 二者設置的級別不一樣而已。character_set_server 設置了 mysqld 級別的存儲編碼字符集,而character_set_database設置 mysqld 中單個 database 的存儲編碼字符集。而且character_set_database的默認值就是 character_set_server 的值。

關於字符編碼各變量的具體信息,參考博客:https://www.cnblogs.com/digdeep/p/5228199.html

source命令 導入.sql文件時,中文亂碼 或者是註釋亂碼