我有一個有latin1
表的mysql數據庫。我需要將每個列,表格等轉換爲utf-8。具體來說:將latin1數據庫轉換爲utf-8
Encoding: UTF-8
Collation: utf8_general_ci (or utf-8's default)
什麼是最快捷的方式來做這些徹底的改變我的數據庫?
我有一個有latin1
表的mysql數據庫。我需要將每個列,表格等轉換爲utf-8。具體來說:將latin1數據庫轉換爲utf-8
Encoding: UTF-8
Collation: utf8_general_ci (or utf-8's default)
什麼是最快捷的方式來做這些徹底的改變我的數據庫?
mysqldump
,然後編輯您的轉儲,替換您的表和列的編碼說明符(並在標頭SET NAMES
命令中保留轉儲編碼),然後返回mysql
。
你需要'iconv'作什麼? – zerkms 2012-07-31 00:17:14
將數據latin1轉換爲UTF-8。我想初始數據編碼是正確指定的。 – spacediver 2012-07-31 00:19:19
如果初始數據編碼正確並且數據沒有被破壞 - 您不需要轉換它。只需在表定義中更改編碼,mysql將執行左側操作。轉儲的當前編碼僅影響客戶端(連接)編碼。所以你可以使用任何你想要的編碼。執行'iconv'可能會破壞所有的OP ;-) – zerkms 2012-07-31 00:20:08
它的表有多少行? – rcdmk 2012-07-31 00:11:25
可以用'alter table'來做:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html – zerkms 2012-07-31 00:24:59
非常好的一點!更多閱讀:https://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html – spacediver 2012-07-31 00:40:24