MySQL解決亂碼詳解
阿新 • • 發佈:2018-12-25
網上相關的部落格很多,但博主看完還是雲裡霧裡,參考了很多部落格,最後成功解決。
怎麼樣才能解決亂碼呢?
假設這樣一種場景,執行一個.sql檔案(包含中文),將其匯入資料庫。
只要能保證.sql的編碼與mysql的編碼一致(強烈建議都設為utf8),那麼就不會發生亂碼。
既然知道如果解決亂碼,那就開始吧。
問題一:怎麼設定MySQL的編碼方式?
這裡強烈建議修改配置檔案my.ini檔案,可以一勞永逸,也就是說,你只要修改一次,以後MySQL的編碼就不會發生改變了
要修改my.ini,首先你必須找到my.ini啊,請大家開啟cmd命令列,連上mysql資料庫,輸入(SHOW GLOBAL VARIABLES LIKE 'basedir%'; )
Value值就是你應該放my.ini的地方(mysql其實會按一定的順序去不同的目錄載入my.ini),到這個路徑下檢視是否有my.ini檔案,有的話無視後面的話,直接修改。
沒有的話怎麼辦?那就看看有沒有my-default.ini檔案,有的話拷貝一份,改名為my.ini,然後進行後續配置。那如果連my-default.ini都沒有怎麼辦?沒關係,去xxxxx下載,然後放到當前目錄下。
接下來就是配置了,先用命令(SHOW GLOBAL VARIABLES LIKE 'character%'; ),如果都是utf8(下圖所示),那麼久不用配置了。
如果不是上圖的配置,那麼修改成如下格式
[client]
default_character_set=utf8
[mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8'
secure_file_priv="D:\test\"
default-character-set=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
或者大家新建一個my.ini檔案,把上面內容複製進去也是可以的。
這時候,基本上大家的問題都可以解決了
可是,
博主問題還是沒有解決啊,這就非常恐怖了
那麼還有一個原因,就是你的.sql檔案的編碼格式不是utf8!
使用notepad++或者editplus開啟sql檔案,修改編碼。
以上還解決不了的,留言!!
我們再探討一下人生!