我们正在测试我们的Unicode兼容性应用程序,并且已经在拉丁字符集之外选择了随机字符进行测试。为什么SQL Server考虑N'和N'相等?
在拉丁文和日本整理系统下列等式为真(U+3422):
N'㐢㐢㐢㐢' = N'㐢㐢㐢'
,但下面是不是(U+30C1):
N'チチチチ' = N'チチチ'
这被发现时,测试使用第一个示例(使用U + 3422)的情况违反了唯一索引。我们是否需要对我们用于测试的角色更具选择性?显然我们不知道上述比较的语义。对于母语人士来说,这种行为会很明显吗?
有趣的是,fileformat.info中提到了[U + 3422](http://www.fileformat.info/info/unicode/char/3422/index.htm)以下的“[停止]:U + 3422不是一个有效的Unicode字符“。这可能是相关的。 – BalusC 2010-05-12 12:10:13
fileformat.info然后在破解。 U + 3422是中日韩统一表意文字扩展一套完全有效的字符。 – 2010-05-12 12:13:54
@BalusC:但是,unicode.org似乎认为它是一个有效的代码点。 – 2010-05-12 12:13:58