總結--解決 mysql 中文亂碼

來源:互聯網
上載者:User

標籤:

首先分析一下導致mysql 中文亂碼的原因:

1、建表時使用了latin 編碼

2、串連資料庫的編碼沒有指定

3、寫入時就已經亂碼(這種情況需要自己檢查來源資料了)

 

解決方案總結:1.建立庫時指定編碼:
create database testdb default charset utf8 

2.修改庫的編碼:

 ALTER DATABASE `testtable` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

3.修改表的編碼:

ALTER TABLE `testtable` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 

4.修改欄位的編碼: 

ALTER TABLE `tablename` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL 

是將MYSQL資料庫tablename表中 dd的欄位編碼改能夠該為utf8

診斷過程:

1、SHOW CREATE TABLE  testtable; 使用建表語句查看當前表的編碼如果是拉丁latin編碼,則可以使用

ALTER DATABASE `testtable` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 

變更表的編碼

2、再次使用show create table 命令查看,表編碼

如果發現當前列中編碼也不正確,那麼使用

ALTER TABLE `tablename` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL 

進行更扆dd這一列的編碼

3、如果還是正確,那麼查看下你的代碼裡的串連方式是否正確

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8

我這裡是java方面的串連,這裡指定了串連的編碼utf-8

到這裡應該就可以了

4、修改系統預設編碼

mysql> SHOW VARIABLES LIKE ‘character%‘;mysql> SET character_set_client = utf8 ; mysql> SET character_set_connection = utf8 ; mysql> SET character_set_database = utf8 ; mysql> SET character_set_results = utf8 ; mysql> SET character_set_server = utf8 ; mysql> SET collation_connection = utf8 ; mysql> SET collation_database = utf8 ; mysql> SET collation_server = utf8 ; 

 

 

參考文章:

1、http://www.2cto.com/database/201307/227538.html

2、http://zhidao.baidu.com/link?url=WtACC0jMIsOAk6eX6kJk8qjQhga28VgsYpNPY4Oc9sWH5fgU2OQm1An-IGiV4yZ-PE80VJ5ZB-YxrAVW3Jo8ua

 

總結--解決 mysql 中文亂碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.