2012-09-04 104 views
0

我在C#中的字符串有一點問題。實際上,我通過URL獲得JSON流。通過Web請求獲取JSON流的字符串編碼C#

WebClient webC = new WebClient(); 
string jsonStr = webC.DownloadString("http://www.express-board.fr/api/jobs"); 

但是,當我在控制檯中寫入字符串時,我遇到了編碼問題。

[...]"contract":"Freelance/Indépendant"[...] 

我已經嘗試了很多使用Encoding類在stackoverflow上看到的技巧。但不可能解決問題。當然,如果我直接在我的網頁瀏覽器中使用鏈接,並在Notepadd ++中打開它沒有問題。

有時,編碼的一些combinaison(ACSII-> UTF-8我認爲),我獲得此:

[...]"contract":"Freelance/Indépendant"[...] to 
[...]"contract":"Freelance/Ind??pendant"[...] 
+0

什麼Web服務器參與?這聽起來像是在宣傳錯誤的編碼。如果它在你的控制之下,那麼正確的解決方案就是解決這個問題。 –

回答

5

這實際上將返回按預期的字符串:

WebClient webC = new WebClient(); 
webC.Encoding = Encoding.UTF8; 
string jsonStr = webC.DownloadString("http://www.express-board.fr/api/jobs"); 
+0

謝謝你,讓mucj Franky。 :) – Wilfried

+0

當然,沒問題! – Franky