Mysql 設定utf 8 真正一勞永逸的方法

2021-09-07 06:25:14 字數 601 閱讀 5563

用 bash 進入linux 之後,再 mysql -u root -p ,如果insert into 某個表,總是會出現亂碼。

網上搜了一堆,其中乙個老外的說法才適用。用 set names utf8;在退出的時候又會不管用,所以

要修改 mysql 的配置檔案,剛剛開始脫離微軟,覺得其他的世界都是配置檔案,微軟的就是傻瓜化

一鍵操作。 vim /etc/mysql/my.cnf,找到 mysqld 配置節,在其後面追加這樣的配置,下次再進來

show variables like 'character_set_%' 就都是 utf8 了。insert 和 select 中文都不會亂碼了。    

[mysqld] 

init_connect='set collation_connection = utf8_unicode_ci'

init_connect='set names utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

關於Mysql的 UTF 8不是真正的UTF 8

utf8 只支援每個字元最多三個位元組,而真正的utf 8是每個字元最多四個位元組。mysql一直沒有修復這個bug,他們在2010年發布了乙個叫作 utf8mb4 的字符集,繞過了這個問題。當然,他們並沒有對新的字符集廣而告之 可能是因為這個bug讓他們覺得很尷尬 以致於現在網路上仍然在建議開發者...

mysql 中文出現?,設定utf8

windows系統下的mysql 1.找到mysql的配置檔案 檔名可能不是my.ini 如my default.ini 修改成my.ini。3.重啟mysql伺服器,在計算機右鍵 管理 在mysql客戶端中操作 也可以在命令列中操作cmd 結果如下所示已經轉換過來了,之前的為latin1 之後再建...

ubuntu下設定mysql為utf8

1.在終端輸入命令 sudo gedit etc mysql my.cnf在開啟的檔案中 找到 client 在下面加入 default character set utf8 找到 mysqld safe 在下面加入 default character set utf8 找到 mysqld 在下面加...