2013-05-28 58 views
1

在我的c#應用程序中,我以xml的形式接收發布數據。在XML中我有一個屬性接收爲「SmÃ¥senter (Sandvika SmÃ¥senter)」。在插入到數據庫之前,我需要將它編碼爲「Småsenter (Sandvika Småsenter)」。我試着用下面的代碼,編寫c中的特殊字符#

string name = "Småsenter (Sandvika Småsenter)"; 
name = HttpUtility.HtmlDecode(name); 

也試過name = HttpUtility.HtmlEncode(name);

但它不會給期望的輸出。 是否有希望得到預期字符的暗示。

問候

桑傑塔

+9

這聽起來像是你的XML簡單地打破了開始 - 爲什麼它不正確地編碼字符?什麼是創建這個XML,以及如何解析它? –

+0

您的xml文檔的標題是否指定了編碼? –

回答

5

你剛纔遇到Mojibake,通過混合文本編碼造成的。您需要使用相同的編碼來編寫和讀取XML,最好是Unicode編碼,例如UTF-8。你不應該試圖修復一個像「SmâSenter」這樣的破碎的字符串,而應該讓它首先不會被破壞。

+0

+1,也不可能自動檢測100%成功的編碼,即具有這樣的算法,但它有時無法找到正確的編碼 –