mysql之字符編碼問題

問題描述:新建數據庫並新建表插入數據,中文亂碼問題,即使將字符集經過命令行或者mysql客戶端改成utf-8仍是亂碼。html

問題緣由:此問題目前主要出如今Linux爲centos7安裝mysql上,主要是經過源碼編譯安裝mysql。經過rpm安裝或者yum安裝目前尚未發現像這樣的問題。ubuntu16.04經過apt-get install安裝mysql方式也沒有出現這個問題。mysql

好比:菜鳥教程的cmake安裝mysql方式就可能出現這個問題。linux

安裝連接爲:http://www.runoob.com/linux/mysql-install-setup.htmlsql

 

解決辦法以下所示:數據庫

(1).輸入 SHOW VARIABLES LIKE 'char%'; 查看MySQL編碼,有兩個不是utf8
(2).vim/vi /etc/mysql/mysql.conf.d/mysqld.cnf
添加以下內容(記得保存):
            lc-messages-dir = /usr/share/mysql(已存在)
            character-set-server=utf8(須要添加的)
            skip-external-locking(已存在)
    
    
(3).vim/vi /etc/mysql/conf.d/mysql.cnf

添加以下內容(記得保存):
     default-character-set=utf8ubuntu

經過配置文件的修改字符集方式,可永久保持數據庫編碼爲UTF-8,從而避免亂碼狀況
    
    
(4).重啓服務/etc/init.d/mysql restart

(5).mysql -uroot -proot 進入mysql  輸入 SHOW VARIABLES LIKE 'char%';

最後顯示結果以下:
        +--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)


    
     小結,這個問題是我最初接觸MySQL的時候,那個時候我我的還在獨自開發一個博客系統,就出現過這種問題,今天恰好有一個朋友問我,沒想到他遇到的和我當初是一個問題,經過上述解決方案,已經妥善的解決了。因此,特別將其記錄下來,以備其餘IT友友們不時之需或者做爲解決相關問題的參考。


vim

相關文章
相關標籤/搜索