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