导出数据库时,我遇到了一个奇怪的文件编码问题。
简单地说,
导出数据库不要保留Unicode字符。 导出单个表会保留Unicode字符。
我将其作为整个数据库导出时获得的转储sql文件甚至将默认字符集设置为utf8,如下所示。
CREATE TABLE content_field_tamil
(vid
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 nid
(nid
))ENGINE = MyISAM DEFAULT CHARSET = utf8;
字段'field_tamil_value'的示例字段值:
‡ÆÆƱ‡Ø燱‡Ææ‡Æ∞ - 这是我在.sql文件中将其作为整个数据库导出时得到的结果。这是错误编码的。 உற்றார் - 这是我导出单个表时得到的结果。这是正确的。
我不明白为什么在将它作为整个数据库导出时编码方式不同。而且,它在我的localhost测试数据库中也是如此。任何帮助真的很感激。
答案 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]