Ubuntu 9.04 下MySQL中文亂碼的解決

來源:互聯網
上載者:User

Ubuntu 9.04 下用源安裝了MySQL。預設情況下,用mysql shell登入建立資料庫建立表插入中文資料後,用select查出來是中文,但用JDBC串連就出現亂碼。網上搜尋到解決方案,如下(先備份資料):

修改/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf

在my.cnf檔案中的[client]段和 [mysqld]段加上以下兩行內容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8

需要重啟mysql服務
停用:
sudo mysqladmin shutdown -u root -p
然後輸入mysql的root使用者的密碼
啟用:
sudo mysqld_safe -user=mysql &

查看一下現在mysql的編碼
sudo mysql -u root -p

mysql>show variables like 'character%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+

現在不管在mysql shell下還是JDBC都可以正常顯示中文了。但之前的資料還是不行,http://ubuntuone.cn所以在這之前得先備份資料,修改完編碼後再匯入。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.