Dynamics 365 字段包含中文〇查询异常

发布时间:2026/7/18 20:09:47
Dynamics 365 字段包含中文〇查询异常 最近在做一个医药器械类的客户碰到了一个平时碰不到的问题医院名称中包含了中文〇有就是看上去一个圈这个在国家的一些解放军医院的名字中非常常见。具体的问题如下我在用医院名字做包含查询时出来了一些不符合的医院名称比如我查的九二〇 结果出来了九二八九二四九二五但是如果你查等于是没问题的F12查看了往后台post的fetchxml 也没什么问题​因为涉及到产品底层了只能开case给微软我也有自己的猜想因为在on-premises时代安装的时候最后的选择数据库连接的时候有个sql的排序规则可能问题出在这后续微软的答复也印证了我的猜想。如下是微软support的答复我们分别测试了全球云和中国区环境​编辑在新建的英文基准语言环境中该问题可以稳定复现。在新建的简体中文基准语言环境中“包含”查询可以正确识别字符“〇”。用户个人界面语言为中文或英文不会改变测试结果。这是因为Dynamics在创建环境时会根据Organization的base language选择对应的SQL collation。英文环境使用的Latin collatio无法正确处理“〇”这一字符因此出现非预期匹配新建的中文环境使用当前版本的Chinese DB collation可以正确处理该字符。而分析了客户当前的环境使用到的Chinese DB collation较早版本的中文排序规则 Chinese_PRC_90_CI_AI 且已经deprecate所以客户建的环境较早应该是21V刚落地的时候就开了当时问题比较多可能provision的时候出了问题。解决方案就是新建一个中文base的环境然后迁移solution再进行数据迁移动静非常大 成本很高最后客户接受了这个产品bug,没有做进一步的应对。​