mysql字符集問題

2021-06-20 12:35:59 字數 640 閱讀 7719

前段時間做乙個專案,前期資料都會儲存在mysql中,資料時通過shell指令碼的方式從文件中匯入到mysql中,然後通過workbench終端去檢視匯入的資料。結果,估計根據標題就能猜到,中文亂碼了,從workbench中看到的中文字元亂碼了。一直就聽說過mysql中如果字元設定不對,中文很容易出現亂碼,所以網上有很多資料介紹如何避免中文的亂碼。在這兒就不介紹mysql的字符集了,只說說我的中文亂碼是怎麼被解決掉的。

這個問題通用的解決方法就是——將mysql服務的全部字符集都設定成utf8,可當我按照這樣設定後,還是亂碼。我這兒是通過shell指令碼匯入mysql的,文字文件是utf8編碼的,可在資料庫中用utf8字符集卻不能看到正常的字元。既然這樣,那一定就是shell連線mysql的字符集不是utf8的,被轉換了,所以在shell中,我就在每次運算元據庫前,加上乙個命令:set names utf8,這樣我在workbench上看到的中文字元正常了。

set names 'utf8';insert into tablename。。。

注意:如果使用mysqlclient庫,通過程式讀取mysql資料,在初始化mysqlclient時,一定也要記得設定utf8的字符集,這樣是保證通過程式連線mysql的連線字符集也是utf8,不至於通過程式讀取中文出現亂碼。

mysql字符集問題 mysql字符集問題

我們新建mysql資料庫的時候,需要指定資料庫的字符集,一般我們都是選擇utf8這個字符集,但是還會又乙個utf8mb4這個字符集,好像和utf8有聯絡,今天就來解析一下這兩者的區別。起源mysql在5.5.3之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容...

mysql字符集問題 mysql字符集問題

用show variables like char 檢視mysql的引數,結果應如下 mysql show variables like char variable name value character set client gbk character set connection gbk ch...

mysql字符集問題 MySql字符集問題

mysql字符集問題 xinjinlong 2010 11 14 22 10 47 閱讀 1334 上次說了一下c從mysql裡面讀取資料,這次在介紹一下如何把mysql的字符集設定為utf8 第一 檢視自己mysql的字符集 mysql show variables like character ...