2012-09-05 167 views
0

我正在使用JSON在两个系统之间传递数据。 JSON中的其中一个属性是富文本。大多数情况下,没有问题,但是一旦进入蓝月亮,特殊字符(如不是UTF-8字符的卷曲引号)就会将其转换为丰富的文本。特殊字符编码

我想用它们的UTF-8等价物替换这些特殊字符。我如何在C Sharp中实现这一点?

此字符串的示例 - “Cops bring lettuce & tomato, dispose of evidence,”。如果我创建一个常规的报价是这样的 - “

感谢

+2

什么卷曲引号不是UTF-8?请举个例子。 – Oded

+0

你如何形成你的json字符串? –

+0

这些字符不比'a',''b'或'c'特别。 JSON和C#都不应该有任何问题。你如何获得它们,以及如何传输它们?当你做错了什么。另外,'''最终怎么看,因为这可能是一个线索。 –

回答

0

你贴有时被称为"smart quotes"引号 - “”他们 UTF-8,但正确的JSON(和大多数编程语言)的报价。

他们是那种从粘贴代码生成到Word引号。

修复它与有效的JSON(即引号替换两个字符)。

如果这些出现在JSON ,您需要与\逃离他们 - 所以不是"您将使用\"

另外,看看this question及其答案 - 确保服务器返回的JSON响应为UTF-8,而不是其他编码。

+0

哦。由于它们对JSON有效,我认为“”是内容的一部分,而不是作为代码传递。如果你在这个正确的轨道上,我闻到更大的问题。 –

+0

@JonHanna - 你可能很满意它的内容。我刚刚看到[这个问题](http://stackoverflow.com/questions/3161487/using-single-smart-quote-in-my-json-data-is-breaking-php-script) - 接受的答案表明,内容通过“windows-1252”而不是“UTF-8”传递! – Oded

+0

引号是内容的一部分,而不是定义属性的属性。 – Gabbar