latin-1到utf-8数据移植

时间:2009-12-02 11:57:38

标签: mysql sql-server encoding

我有一个旧网站,其数据库采用latin-1编码。 我创建了一个旧站点的drupal站点副本 默认情况下,drupal数据库采用utf-8编码 现在我如何将数据库从latin-1移植到utf-8。我试着自己,我得到了不受欢迎的字符。我应该怎么做。

4 个答案:

答案 0 :(得分:2)

mysqldump ... | iconv -f ISO-8859-1 -t UTF-8 | mysql ...

答案 1 :(得分:1)

以下是可能的解决方案:

http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html

希望有所帮助:)

答案 2 :(得分:0)

您可以使用其他语言编写的脚本,例如Groovy:

def utf8 = java.nio.charset.Charset.forName("UTF-8")
def latin1 = java.nio.charset.Charset.forName("ISO-8859-1") // this is latin1
def newString = new String(fetchStringFromDB().getBytes(latin1), utf8)
updateStringInDB(newString)

答案 3 :(得分:-1)

一种简单的手动方式:导出数据库的内容,例如用phpMyAdmin。然后创建一个UTF-8编码的空文本文件,复制并粘贴导出文件的内容,然后编辑表定义以使用UTF-8,如果需要的话。