【问题标题】:Encoding gets lost while exporting database导出数据库时编码丢失
【发布时间】:2012-02-29 14:47:18
【问题描述】:

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

简单来说,

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

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

CREATE TABLE content_field_tamil (vid int(10) unsigned NOT NULL default '0', nid int(10) unsigned NOT NULL default '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 文件中的整个数据库导出时得到的结果。这是错误的编码。 உற்றார் - 这是我导出单个表时得到的结果。这是正确的。

我不明白为什么当我将它作为整个数据库导出时它的编码方式不同。而且,它在我的本地主机测试数据库中也是如此。任何帮助都非常感谢伙计们。

【问题讨论】:

  • 我对 MySQL 的了解不够详细,无法给出完整的答案,但我建议在指定数据类型时调查使用 CHARACTER SET 和/或 COLLATE

标签: mysql sql encoding utf-8 export


【解决方案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]

【讨论】:

    猜你喜欢
    • 2016-07-06
    • 2021-12-05
    • 2023-04-03
    • 2012-12-15
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    相关资源
    最近更新 更多