2014-06-20 36 views
0

我有發送請求到遠程數據庫中的一個小的方法,我們使用以下兩行:與法語字符ASCII編碼

var encoding = new ASCIIEncoding(); 
byte[] data = encoding.GetBytes(jsonRequest); 
using (var newStream = request.GetRequestStream()) 
      newStream.Write(data, 0, data.Length); 

當我發送使用測試門戶請求指示,法語字符被正確保存和檢索正確,當使用我們的應用程序發送服務器讀取它們爲? (這裏的法文字符是éà等) 我試圖調試應用程序,發現數據(jsonRequest)在byte []數據點有效。

我在問是否有可能編碼使字符變形?當然這是別人的代碼,沒有解釋爲什麼這樣做,我沒有什麼選擇。 任何幫助表示讚賞。

Ta

回答

0

是的,它很可能是您正在使用的編碼。 ASCII起源於美國,不包括歐洲口音。如果你不使用任何編碼會發生什麼?我從來不必爲JSON請求添加任何字符編碼。如果我確實需要選擇和編碼,utf-8將是最好的。

是你的服務器和網頁配置爲使用UTF-8?

+0

喜他們,但是這是一個低級別的通信(應用程序從網頁發送數據,但是這是通過其他項目(用於數據傳輸類項目)完成)。不管怎樣謝謝我用了UTF8Encoding()代替,現在它工作得很好,因此我將你的回答標記爲答案 –

+0

非常感謝。 – Choi

0

我以前碰到過這個。在我們的例子中,這是因爲即使字符從服務器正確發送,它也發送瞭解析版本 - 實際上,它們丟失了編碼。所以我們在JS的客戶端有一個輔助函數,在HTML呈現它們之前再次對字符進行編碼。

+0

@durbnpoison你做了什麼有我不明白?對不起,你能更清楚嗎?不知道我知道我能做些什麼來解決它 –

相關問題