2012-09-05 165 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