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

时间:2015-04-02 05:31:23

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

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

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

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

  

描述nvarchar

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

  

描述longtext(使用utf8_general_ci排序规则)

我错过了什么,那么这些设置是否有效?

1 个答案:

答案 0 :(得分:0)

这取决于。如果您可以获得几个印度字符的HEX,我们可以验证它是否在utf8中编码。 (在utf8中,一个印度字符的十六进制通常为3 字节 E0 xx yy。)假设它是utf8,则声明表/列为{ {1}}会让它轻松接受这些角色。您还必须声明您的客户端正在使用utf8进行通话。什么客户?

我建议大于CHARACTER SET utf8(允许16M字节,可能绰绰有余)或MEDIUMTEXT(64KB)而不是TEXT(4GB限制)。

在印度字符集方面,我不熟悉LONGTEXTutf8_general_ci 排序规则之间的差异。如果在排序和排序字符时存在“组合重音”和其他需要特别注意的事项,则utf8_unicode_ci可能是首选。否则,坚持使用更简单的utf8_unicode_ci。如果您可以指向我讨论“如何订购印地语(等)单词”的网页(英文),那么我可以提供帮助。我甚至可能会在my blog on charsets and collations中学到一些东西。