简体   繁体   English

如何在MySQL,db2,Derby或Oracle数据库中使用排序规则来实现Unicode普通格式C?

[英]How can I achieve unicode normal form C with collation in MySQL, db2, Derby or Oracle databases?

I have tried using different collation methods across different implementations of SQL databases, but am unable to achieve complete normalization. 我曾尝试在SQL数据库的不同实现中使用不同的排序规则方法,但无法实现完全标准化。 Does anyone have any tips for this in any of the above implementations? 在上述任何实现中,没有人对此有任何提示吗?

The best way is to TEST each RDBS with different collating sequence. 最好的方法是以不同的整理顺序测试每个RDBS。 Some of them could not be aware about different collate sequences (DB2, Oracle), and others can support many of them (Derby). 他们中的一些人可能不了解不同的整理顺序(DB2,Oracle),而其他人则可以支持其中的许多排序方式(Derby)。

For example, in DB2, you can provide many different collating sequence at the database creation time. 例如,在DB2中,您可以在数据库创建时提供许多不同的整理序列。 Once the database is created, you cannot modify the locale settings (I wrote an article about that in DB2 ) 创建数据库后,就无法修改语言环境设置(我在DB2中写了一篇有关该语言的文章)

Remember that there are different kinds of methods to stored Unicode characters. 请记住,有多种方法可以存储Unicode字符。 Unicode is a table, but storage Unicode is something different, and this is the origin of your problem. Unicode是一个表,但是存储Unicode是不同的,这就是问题的根源。 You must test with th UCA (Unified Collation Algorithm) of the different RDBS. 您必须使用其他RDBS的UCA(统一整理算法)进行测试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM