正在将印度语言数据从 SQL 服务器迁移到 MySQL

Migrating Indian language data from SQL Server to MySQL

我正在将数据从 SQL 服务器数据库迁移到 MySQL 数据库。

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

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

Description nvarchar

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

Description longtext (with utf8_general_ci collation)

我是不是遗漏了什么,这些设置应该有效吗?

视情况而定。如果你能得到几个印度字符的十六进制,我们就可以验证它是否是用 utf8 编码的。 (在utf8中,一个印度character的hex一般是3bytesE0 xx yy。)假设是utf8,那么声明table/column 为 CHARACTER SET utf8 会让它很容易接受字符。您还必须声明您的 client 正在使用 utf8 进行通话。什么客户?

我建议不要超过 MEDIUMTEXT(允许 16M 字节,可能绰绰有余)或 TEXT(64KB)而不是 LONGTEXT(4GB 限制)。

我不熟悉 utf8_general_ciutf8_unicode_ci collat​​ions 在印度字符集方面的区别。如果有"combining accents"等在对字符进行排序排序时需要特别注意的地方,那么可能优先选择utf8_unicode_ci。否则,坚持使用更简单的 utf8_general_ci。如果您可以指点我讨论 "how to order Hindi (etc) words" 的网页(英文),那么我可能会提供帮助。我什至可能学到一些东西放在 my blog on charsets and collations.