私は、ノルウェー語を英語に、またはその逆に変換する言語翻訳サーバーに http 要求を送信する C# アプリケーションに取り組んでいます。返された翻訳結果は、「Ø」などの特定のノルウェー語の文字が文字化けしていることを示しています。コードをステップ実行すると、この文字が HttpWebRequest クラスの URI メンバーで文字化けしていることが判明したため、明示的に URI を指定しました (単に HTTPWebRequest クラスに依存するのではなく)。しかし、私の翻訳結果は文字化けしたままです。現在、StreamReader が原因であると思われ、ノルウェーのマシンで UTF8、Unicode、ASCII エンコーディングを試しましたが、役に立ちませんでした。お知らせ下さい。前もって感謝します。関数のコードを以下に貼り付けます。
その他の詳細: 入力内容の例: følger;
翻訳結果の例: ? 長さ;
入力と出力は Unicode テキスト ファイルです。
public string Translate(string requestquery)
{
string translatedresult = "";
Uri uri = new Uri(requestquery, true); //this appears to have solved the garbled URI
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string charSet = response.CharacterSet;
Stream ReceiveStream = response.GetResponseStream();
//I've tried all sorts of encoding here and even changing the machine locale
string contentEncoding = response.ContentEncoding;
StreamReader sr = new StreamReader(ReceiveStream, Encoding.UTF8, false);
translatedresult = sr.ReadToEnd();
sr.Close();
return translatedresult;
}