谷歌翻译 API 和特殊字符

3

我最近开始在C#项目中使用谷歌翻译API。我试图将一些文本从英语翻译成法语。但是,我遇到了一些特殊字符的问题。

例如,单词“Company”被翻译为“Socià © tà ©”而不是应该的“Société”。请问有没有办法在代码中将这些转换为正确的特殊字符?即(é变为é)

谢谢!

如果您需要更多信息,请告诉我。


我有一个类似的项目,但我正在使用控制台应用程序进行测试。特殊字符在控制台上看起来很好。你使用的是什么具体技术?WPF?WinForms? - Phil
你很可能没有正确处理结果字符串。这可能是ASCII / UTF8 / UTF16问题。 - Richard Schneider
这是WPF,也许我会尝试一个控制台应用程序。很可能这是一个Ascii/UTF8/UTF16问题,这不是我的强项。 - Caleb Sandfort
2个回答

2
我遇到了完全相同的问题。如果你正在使用WebClient类从 Google 下载 JSON 响应,请尝试将 Encoding 属性设置为 UTF8。
using(var webClient = new WebClient { Encoding = Encoding.UTF8 })
{
    string json = webClient.DownloadString(someUri);
    ...
}

0

我已经重现了你的问题,看起来你正在使用UTF7编码。你需要使用UTF8。

我通过创建一个WebRequest来使用Google的API从服务器获取HTTP响应,然后使用StreamReader读取响应流。 StreamReader默认为UTF8,但为了重现你的问题,我将Encoding.UTF7传递给StreamReader的构造函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接