0

当我从 Google Suggest API 搜索“ア”数据时,我当前在设备中的语言是英语。然后我在 iPhone 设备中得到以下响应。

<?xml version="1.0"?>
<toplevel>
<CompleteSuggestion>
<suggestion data="&#x30A2;&#x30DE;&#x30BE;&#x30F3;"/>
<num_queries int="69300000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="&#x30A2;&#x30E1;&#x30D6;&#x30ED;"/>
<num_queries int="66400000"/>
</CompleteSuggestion>
</toplevel>

当我从 Google Suggest API 搜索“ア”数据时,我当前在设备中的语言是日语。然后我在 iPhone 设备中得到以下响应。

<?xml version="1.0"?>
<toplevel>
<CompleteSuggestion>
<suggestion data="ÉAÉ}É]Éì"/>
<num_queries int="69300000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="ÉAÉÅÉuÉç"/>
<num_queries int="66400000"/>
</CompleteSuggestion>
</toplevel>

对于英语 XML 解析工作正常但是对于日语响应,它在解析 XML 时给了我错误并且不会显示数据。

请提出任何解决此问题的方法。

我正在使用以下代码从 Google Suggest API 获取响应。

NSString *strUrl = [NSString stringWithFormat:@"http://google.com/complete/search?output=toolbar&q=ア"];

NSURL *url = [NSURL URLWithString:[strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString * urlData = [NSString stringWithContentsOfURL:url];

// Print the data that get from google suggest api.
NSLog(@"URL Data :: %@", urlData);

谢谢。

4

1 回答 1

0

我解决了这个问题。在我的情况下,谷歌 api 给我一个日文字符。所以我按照以下方式更改我的代码:

NSString *strUrl = [NSString stringWithFormat:@"http://google.com/complete/search?output=toolbar&q=ア"];

NSURL *url = [NSURL URLWithString:[strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

NSError * isError;
NSString * urlData = [NSString stringWithContentsOfURL:url encoding:NSShiftJISStringEncoding error:&isError];

NSLog(@"URL Data :: %@", urlData);

谢谢。

于 2012-07-21T11:32:29.947 回答