2009-12-02 61 views
1

我有一个数据库采用latin-1编码的旧网站。 我已经创建了一个旧站点的Drupal站点副本 默认情况下,drupal数据库是utf-8编码 现在我该如何将数据库从拉丁文-1移植到utf-8。我尝试过自己,并得到不需要的字符。我该怎么做。latin-1到utf-8数据移植

回答

1

以下是可能的解决方案:

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

希望帮助:)

-1

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

+1

这到底是“UTF-8编码emtpy文本文件”?如果它是空的,它的编码应该是什么? – sleske 2009-12-02 12:27:29

+0

你有没有听说过像MIME类型的东西?... – 2009-12-03 12:09:58

2
mysqldump ... | iconv -f ISO-8859-1 -t UTF-8 | mysql ... 
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) 
+0

可能的,但转储和重新编码转储将比单独更新每个记录快得多。另外,您可以在更改表格/列的定义时进行操作。 – sleske 2009-12-02 12:29:11