0
我正在使用json服務返回用法語寫的包含重音的字符串。事情是我沒有正確接收它們,因爲口音被符號'é'=>'?'所取代將未知編碼轉換爲utf-8
我猜問題是編碼,但我試圖將字符串轉換成每一個編碼成UTF-8
var allTheEncoding = Encoding.GetEncodings();
foreach (var encodingInfo in encoding)
{
var decoByte = encodingInfo.GetEncoding().GetBytes(str);
var utf8Bytes = Encoding.Convert(encodingInfo.GetEncoding(), utf8, decoByte);
str = utf8.GetString(utf8Bytes);
}
我仍然得到了同樣的probleme 我這樣做對嗎?我該怎麼辦??
在此先感謝
甚至沒有試圖編碼錯誤的東西一旦被轉換時。只有在接收到字節數組後才能接收和轉換,您可以指定編碼。 – BLUEPIXY
你將不得不弄清源數據的編碼是什麼。也許你可以通過在這裏和那邊戳一下來憑經驗來弄明白,但是你不應該試圖編寫你的應用程序來即時確定源代碼。要麼找出源編碼並要求編碼永不偏離,要麼要求源向您指示它使用的編碼。例如,在HTTP中,字符編碼在Content-Type頭,charset字段中指示。在XML文檔中,字符編碼在XML聲明中指出。 – dthorpe
感謝您的回答,但是我在源代碼中找到了答案,並且他們在結尾處發生了錯誤。從此他們修復了它,一切正常 – Rachid