mysql - 导出数据库时编码丢失

标签 mysql sql encoding utf-8 export

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

简单来说,

导出数据库不保留 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/

相关文章:

mysql - 分页时没有order列值?

mysql 一夜之间复制我的行

sql - Azure SQL 用户和架构

sql - 为什么即使条件计算结果为 false,也会创建在 IF 语句内声明的变量?

Python JSON 保留编码

php - Yii + mysql + cloudControlled

PHP - MySQL PDO 最大查询大小

sql - SQL:NULL作为ColumnName意味着什么

c# - 如何正确解码重音字符以显示

PHP 突然出现以前不存在的 UTF8 编码问题。应用程序未更改