問題:
在普通用戶權限下執行 mysql -u root -p進入mysql數據庫,中間步驟省略,插入數據:insert into 庫名(屬性)values('漢字');
會出現如下提示: Query OK, 1 row affected, 1 warning (0.00 sec) 表明出現錯誤,沒有插入成功,然后執行select * from 表名 就會出現如下的問題:顯示的表中出現亂碼或者問號。
如圖:
解決方案:
首先重新打開一個終端窗口(方便操作),進入root用戶模式
執行 vim/vi /etc/mysql/my.cnf (此路徑根據個人的安裝情況,一般默認是這個路徑)
在my.cnf 文件中在對應位置修改(添加)如下內容:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
init_connect='set names utf8'
注意:此處不要添加 default-character-set=utf8 ,否則在重啟數據庫的時候會出現failed to start錯誤!!!!!
[mysql]
default-character-set=utf8
以上內容修改完畢,保存退出。
執行service mysql restart 重啟mysql數據庫
執行mysql -u root -p(此處重新登錄是為了避免出現由於沒有修改文檔出現之前的亂碼的問題)重新進入數據庫
執行show variables like 'character_set_%';就會出現如下圖所示內容:
然后執行insert into 庫名(屬性)values('漢字')重新插入中文數據,此時就會正確顯示中文了!!!如下圖所示:
備注:此文章在參考他人的許多文章總結之后的結果!!!希望給大家提供幫助!轉載請注明出處!謝謝!