导出数据库时编码丢失

时间:2012-02-29 14:47:18

标签: mysql sql encoding utf-8 export

导出数据库时,我遇到了一个奇怪的文件编码问题。

简单地说,

导出数据库不要保留Unicode字符。 导出单个表会保留Unicode字符。

我将其作为整个数据库导出时获得的转储sql文件甚至将默认字符集设置为utf8,如下所示。

CREATE TABLE content_field_tamilvid int(10)unsigned NOT NULL默认值'0',nid int(10)unsigned NOT NULL默认值'0',field_tamil_value longtext,field_tamil_format int(10)无符号默认值NULL,PRIMARY KEY(vid),KEY nidnid))ENGINE = MyISAM DEFAULT CHARSET = utf8;

字段'field_tamil_value'的示例字段值:

‡ÆÆƱ‡Ø燱‡Ææ‡Æ∞ - 这是我在.sql文件中将其作为整个数据库导出时得到的结果。这是错误编码的。 உற்றார் - 这是我导出单个表时得到的结果。这是正确的。

我不明白为什么在将它作为整个数据库导出时编码方式不同。而且,它在我的localhost测试数据库中也是如此。任何帮助真的很感激。

1 个答案:

答案 0 :(得分:1)

我不确定您是否尝试过此操作,但数据库上的字符集是否设置为utf8?例如。不只是表格。

CREATE DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]

ALTER DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]