ubuntu下解決mysql插入中文亂碼(???)的問題

一.緣由html

    myeclipse中插入中文發現不只在mysql中且在myeclipse中查詢都顯示??? mysql


二.解決 
sql

    網上看了不少資料,若是在mysql中直接修改,重啓mysql後就失效,通常修改my.ini文件,固然在ubuntu下是my.cnf.修改的過程可參考http://blog.knowsky.com/190431.htm
ubuntu

    但在我進行修改的過程當中發現:
eclipse

        找到[mysqld]在下面加入
        default-character-set=utf8
        init_connect='SET NAMES utf8'
socket

    一旦將mysqlId修改,再次啓動mysql會報錯:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
測試

    找了不少方法,都不是頗有效,本人反而在一次修改my.cnf中不當心刪除了所有的文件,不得不從新安裝mysql
編碼

順便再來介紹下如何和重裝mysqlspa


三.mysql的重裝rest

    詳情參見 http://www.jbxue.com/db/14719.html     比較詳細


四.繼續解決亂碼問題

     安裝完成,查看當前編碼設置

|character_set_client      | utf8                                  |
| character_set_connection | utf8                                  |
| character_set_database   | utf8                                  |
| character_set_filesystem | binary                                |
| character_set_results    | utf8                                  |
| character_set_server     | latin1                                |
| character_set_system     | utf8

發現

character_set_server

仍是latin1   緣由找到,下面進行解決,原來緣由在此~

其餘的還跟上面同樣,只有在[mysqld]下面添加的

default-character-set=utf8

改成:

character-set-server=utf8


嘗試修改

輸入命令sudo service mysql restart從新啓動mysql,啓動成功!再查看編碼爲:

+--------------------------+----------------------------+ 
| 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                       |

再次運行junit測試,插入中文成功!!!

相關文章
相關標籤/搜索