【发布时间】:2011-06-23 18:41:52
【问题描述】:
我正在创建一个原子 XML 数据包作为 REST 服务请求的一部分。 但是,当 XML 中某个标签的值包含注册商标的符号时,就会出现问题。
XML 正在通过 WebRequest 作为“PUT”发送。当问题字符在 XML 中时,完整的 XML 包不会到达服务器。数据包被截断,我看到服务器上报告了“Unexpected EOF in start tag”错误。
我确实在服务器上注意到请求的第一部分(在被截断之前)包含问题字符“®”。我希望只看到“®”。
我以为我只需要担心 XML 中的这些字符:
双引号:"
单引号:'
小于:
大于 >
和号:&
如何转义或处理我的字符串,以便可以毫无问题地发送任何字符?
【问题讨论】:
-
这是一个编码问题。 Â 字符在 utf-8 编码中很常见。应该永远产生®。您的问题中没有任何细节可以帮助确定编码问题的根源。
-
仅供参考,该语言被命名为“C#”,而不是“CSharp”。此外,“WebRequest”不是 C# 的一部分,它是 .NET 的一部分。
-
现在我正在使用 SecurityElement.Escape()