问题:下面两个相同的单词不相等(在控制台中尝试“PHƯỢNG”==“PHƯỢNG”)
描述:
第一个单词中的'Ợ'字符是使用组合变音符号:U + 01A0 + U + 0323。这是来自数据库的数据
第二个使用Latin Extended Additional:U + 1EE2。这是越南语区域键盘输入的数据
这些词在VietNamese
输出:虽然在Unicode块中存在差异,但我希望上面两个词比较在Microsoft SQL Server中等于
更多信息:
SqlCommand
:[表] COLLATE Vietnamese_CI_AI_KI_WI喜欢N'%'+ @输入+'%'
更多要测试的字:
字:Ế[U + 1EBE]和Ế[U + 00CA,U + 0301]
WORD:Ờ[U + 1EDC]和Ờ[U + 01A0,U + 0300]
答案 0 :(得分:0)
这不能在SQL中进行比较,因为SQL不支持规范化unicode字符。 将unicode字段与不同的unicode enconding进行比较的唯一方法(使用组合变音符号 Picture 1
的唯一方法,并使用拉丁语扩展附加块 { {1}} 将两者规范化为已分解的 Picture 2
或完全合成,例如 Picture 1
。
这是概念:
参考: