source命令 導入.sql文件時,中文亂碼 或者是註釋亂碼
1、source命令 導入.sql文件時,中文亂碼 或者是註釋亂碼
首先進入dos命令,進入mysql數據庫,之後use 數據庫;之後查看你的mysql數據庫編碼
如下命令:模糊查詢變量character_set_database的值
mysql> show variables like “character_set_database”;
+————————+——-+
| Variable_name | Value |
+————————+——-+
+————————+——-+
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文件時,中文亂碼 或者是註釋亂碼