外国人;语言翻译代理申请

时间:2013-01-15 21:12:31

标签: c#

我正在开发一个C#应用程序,它将一个http请求发送到将挪威语转换为英语的语言翻译服务器,反之亦然。我回来的翻译结果表明某些挪威字符如“Ø”正在出现乱码。单步执行代码,我发现这个字符在HttpWebRequest类的URI成员中出现乱码,所以我明确指定了URI(而不仅仅依赖于HTTPWebRequest类来为我做这个)。但我的翻译结果仍然是乱码。我怀疑StreamReader现在是罪魁祸首,并且已经在挪威机器上尝试过UTF8,Unicode,ASCII编码,但无济于事。请指教。先感谢您。该功能的代码粘贴在下面。

其他细节: 输入内容示例:følger;
翻译结果示例:? 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;
    } 

0 个答案:

没有答案