2012-07-31 77 views
0

我有一個有latin1表的mysql數據庫。我需要將每個列,表格等轉換爲utf-8。具體來說:將latin1數據庫轉換爲utf-8

Encoding: UTF-8 
Collation: utf8_general_ci (or utf-8's default) 

什麼是最快捷的方式來做這些徹底的改變我的數據庫?

+0

它的表有多少行? – rcdmk 2012-07-31 00:11:25

+1

可以用'alter table'來做:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html – zerkms 2012-07-31 00:24:59

+0

非常好的一點!更多閱讀:https://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html – spacediver 2012-07-31 00:40:24

回答

1

mysqldump,然後編輯您的轉儲,替換您的表和列的編碼說明符(並在標頭SET NAMES命令中保留轉儲編碼),然後返回mysql

+0

你需要'iconv'作什麼? – zerkms 2012-07-31 00:17:14

+0

將數據latin1轉換爲UTF-8。我想初始數據編碼是正確指定的。 – spacediver 2012-07-31 00:19:19

+0

如果初始數據編碼正確並且數據沒有被破壞 - 您不需要轉換它。只需在表定義中更改編碼,mysql將執行左側操作。轉儲的當前編碼僅影響客戶端(連接)編碼。所以你可以使用任何你想要的編碼。執行'iconv'可能會破壞所有的OP ;-) – zerkms 2012-07-31 00:20:08

相關問題