mysql - 将印度语言数据从 SQL Server 迁移到 MySQL

标签 mysql sql-server utf-8 migration database-migration

我正在将数据从 SQL Server 数据库迁移到 MySQL 数据库。

很少有表格包含英语以外语言的数据。数据主要采用流行的印度语言,如印地语、马拉地语等。

我检查了这些表,发现包含其他语言数据的字段已声明为:

Description nvarchar

对于这类字段,我在 MySQL 中创建了如下字段

Description longtext (with utf8_general_ci collation)

我是否遗漏了什么,这些设置应该起作用吗?

最佳答案

这要看情况。如果你能得到几个印度字符的十六进制,我们就可以验证它是否是用utf8编码的。 (在utf8中,一个印度字符的十六进制一般为3字节E0 xx yy。)假设是utf8,则声明表/column 为 CHARACTER SET utf8 可以让它轻松接受字符。您还必须声明您的客户端正在使用 utf8 进行通信。什么客户端?

我建议不要使用比 MEDIUMTEXT (允许 16M 字节,可能绰绰有余)或 TEXT (64KB) 更大的内容,而不是 LONGTEXT ( 4GB 限制)。

对于印度字符集,我不熟悉 utf8_general_ciutf8_unicode_ci 排序规则之间的差异。如果在对字符进行排序和排序时存在“组合重音”等需要特别注意的情况,那么utf8_unicode_ci可能是首选。否则,请坚持使用更简单的 utf8_general_ci。如果您可以向我指出一个讨论“如何订购印地语(等)单词”的网页(英文),那么我也许可以提供帮助。我什至可能会学到一些东西放入 my blog on charsets and collations .

关于mysql - 将印度语言数据从 SQL Server 迁移到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29405625/

相关文章:

string - 将 Percent-Encoded URI 字符串中的汉字转换为 UTF-8 中的汉字?

mysql - VB.Net 和 MySQL(如何制作自动植入的安装程序)

java - 与hibernate注解一对一关系

sql-server - 开发人员应该如何连接SQL Server?

sql - 在 SQL Server 的分区表中搜索日期

Linux 上的 R 和 unicode PDF 字体 - 字母粘在一起

python - 使用 MySQL Connector 和 Python 3 在 Django 中运行 inspectdb 时出错

php - mysql选择关系两个项目

sql-server - 无法通过Excel连接到分析服务

php - 仅当从 PHP 插入时特殊字符才能正确显示