好的,最近我们遇到了一个问题。
在报告服务中,一些字符串列显示为乱码中文字符。
经过进一步调查,我们发现这是由于破折号导致的。起初我们以为是连字符,但进一步调查后发现是短划线(或者叫 en dash)。实际上,造成这种情况的原因是人们从 Word 复制数据到该列时,Word 会自动将连字符转换为短划线。
但是,如果你查看数据库,它们看起来都一样。不过,在应用程序端你可以看到它们之间的区别。
如何用正常的连字符替换短划线呢?
如果你将值复制粘贴到 SQL Server 中,连字符是灰色的,而短划线是黑色的,但它们看起来完全一样(即大小没有区别)。这就导致我无法编写 REPLACE 脚本(它们长得一模一样)。
有没有办法在 SQL Server 中识别像短划线这样的特殊字符呢?
SQL Server v2005。