Yahoo Weather阿拉伯语答复包含问号,而不是阿拉伯字符

问题描述 投票:0回答:1

我正在尝试使用最新的Yahoo Weather APIhttps://weather-ydn-yql.media.yahoo.com/forecastrss它工作正常,但是当我设置语言(lang = ar-AE)时,它返回带有问号而不是阿拉伯字符的json响应。例如“ city”:“ ????????????”对于英语,可以。

我在与utf设置有关的文档中没有看到任何内容

[当我打开雅虎的天气页面https://www.yahoo.com/news/weather/united-arab-emirates/abu-dhabi/abu-dhabi-1940330时?lang = ar-AE它以阿拉伯语显示数据,这表示语言代码正确]

utf-8 arabic yahoo-weather-api
1个回答
0
投票

这是代码,我在课堂上用它来获取天气。此代码是从yahoo天气文档的示例代码复制而来的。

            string lURL = cURL + "?" +  cWeatherID + "&" + cUnitID + "&format=" + cFormat + string.Format("&lang={0}", this.Lang);

        var lClt = new WebClient();

        lClt.Headers.Set("Content-Type", "application/" + cFormat);
        lClt.Headers.Add("X-Yahoo-App-Id", this.AppID);
        lClt.Headers.Add("Authorization", _get_auth());

        byte[] lDataBuffer = lClt.DownloadData(lURL);

        string result = Encoding.ASCII.GetString(lDataBuffer);

我发现问题所在

string result = Encoding.UTF8.GetString(lDataBuffer);

我将编码从ASCII更改为UTF8,并且工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.