1. 程式人生 > >MySQL解決亂碼詳解

MySQL解決亂碼詳解

網上相關的部落格很多,但博主看完還是雲裡霧裡,參考了很多部落格,最後成功解決。

怎麼樣才能解決亂碼呢?

假設這樣一種場景,執行一個.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檔案,修改編碼。

以上還解決不了的,留言!!

我們再探討一下人生!