2010-08-05 176 views
1

我已將數據庫從一臺主機移到另一臺主機。我使用PMA導出和bigdump導入。整個數據庫在任何可能的地方都設置了latin2字符集。但是在數據庫中,特殊字符(波蘭語)等被打破。當我使用SELECT時,我會看到「灌木叢」 - 「ą」的「Ä 」insetad。然後我將文檔編碼設置爲utf-8 ...並且角色很好。如何解決這個問題?可以在查詢中使用CONVERT來完成嗎?我不想再導出/導入數據庫,因爲它已超過200MB。怎麼了?數據庫字符集轉換

每個PHP/MySQL查詢解決方案都能爲我節省開支。

對不起,如果你不明白這一點,因爲我仍然在學習英語。

回答

1

如果表中包含一種錯誤的字符集(假設UTF-8溜進處理latin1列varhcar(255)):

ALTER TABLE tablename MODIFY colummname BINARY(255); 
ALTER TABLE tablename MODIFY colummname VARCHAR(255) CHARSET utf8; 
ALTER TABLE tablename MODIFY colummname VARCHAR(255) CHARSET latin1; 

參見:http://dev.mysql.com/doc/refman/4.1/en/charset-conversion.html

然而, 更有可能您剛剛在默認連接中設置了錯誤的字符集。在選擇結果之前,SET NAMES latin1;是什麼?

+0

latin2 BTW 我已經修復它了,通過添加Mysql40模式 – Misiur 2010-08-06 11:28:06