我在导出数据库时遇到文件编码的奇怪问题。
简单来说,
导出数据库不保留 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 测试数据库中做同样的事情。非常感谢任何帮助。
最佳答案
我不确定您是否尝试过,数据库 上的字符集是否设置为 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]
关于mysql - 导出数据库时编码丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501194/