9

我正在使用 Google API 从地址位置查找纬度经度。并且它在英语语言设置中工作正常。但是当在国际化中选择丹麦语设置时,它会从“谷歌”给出一个服务器错误。正如我认为可能需要在应用程序中进行本地化,但如何?

当语言选择为丹麦语并由 Google API 给出响应时

4

2 回答 2

2

我不确定 AFNetworking,但我会使用 Apple 的 NSURL 进行如下操作。

假设你的 URL 是一个名为“googlapiurl”的字符串,你的 NSURL 应该被初始化为:

[NSURL URLWithString:[googlapiurl stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];

希望能帮助到你。

于 2013-07-02T10:44:08.500 回答
2

穆罕默德在上面给出了答案,但我会借此机会解释(我认为)问题是什么,因为几周前我在实时生产代码中遇到了这个问题。

NSURL对于带有“特殊”内容(例如 UTF)的未转义字符串来说,这是完全糟糕的。我要做的第一件事是检查NSURL您是否返回nil

NSURL字符串的方法是stringByAddingPercentEscapesUsingEncoding在传入字符串之前使用。

这个简单的例子说明了这一点:

NSString *string = @"http://test.com/teståäötest";

NSLog(@"url with string! %@", [NSURL URLWithString:string]);
NSLog(@"url with escaped string! %@", [NSURL URLWithString:
  [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]);

带输出

url with string! (null)
url with escaped string! http://test.com/test%C3%A5%C3%A4%C3%B6test
于 2013-07-17T10:42:25.743 回答