我有一个应用程序将我们的服务台系统与TFS(从Help Desk到TFS的一种方式)连接起来。当我在TFS中创建工作项时,在某些情况下我收到“InvalidCharacters”验证错误。
我正在使用的字段是标准的“描述”字段,在工作项定义中定义为“纯文本”。
这只发生在一条记录上,所以我确定这是数据,但我无法弄清楚哪些字符被视为无效。是否有关于什么会在“纯文本”字段上触发InvalidCharacters验证的指导?
答案 0 :(得分:2)
看起来此字段无法显示扩展的ASCII字符。在我试图保存的字符串中有一个带有重音坟墓(à)。
- 编辑 -
这实际上变得更令人沮丧。我做ToCharArray()
时的字符表示是“à”,然而,当我最终在字符串中发现它被轰炸时,实际字符是单字符椭圆(...)。这可能是因为有人将Word复制并粘贴到我们的帮助台系统中以供评论。
我的最终解决方案是通过char数组的强力旋转,用其他东西替换任何int值大于127的字符(在我的例子中,是一个问号)。
答案 1 :(得分:0)
如果'string'字段包含除换行符,回车符和制表符以外的控制字符或者包含不匹配的代理项字符,则该字段无效。 Longtext字段(如明文)接受除了不匹配的代理对之外的所有内容。确保您的复制/粘贴导致粘贴Unicode。
您可以使用正则表达式功能将所有空白区域压缩为“”字符,例如:
Regex.Replace( text, @"\s+", " " );
虽然它实际上比你技术上需要的更多,因为它取出了换行符,回车符和制表符。
希望这有帮助!