1

我正在尝试以从右到左的语言(希伯来语阿拉伯语等)在谷歌中搜索,我已经尝试过了

    NSURL *url = [NSURL URLWithString:@"http://www.google.com/search?q=امريكا"];
[[UIApplication sharedApplication] openURL:url];

但根本没有用,它会忽略 url 并跳过该方法,就好像它是空的.. 而如果我输入英文字符,它就可以正常工作.. 那些 utf-8 字符还有其他方法吗?

4

1 回答 1

2

警告:我不做 iPhone 编程,也不知道您使用的操作/方法应该如何工作。

但是,似乎 URL 没有被转义。

URL RFC对URL中的字符编码明确含糊不清(“本规范不强制要求任何特定的字符编码”)。但是,URL 仅限于 ASCII 字母、数字和一小组特殊字符。其他所有内容都必须使用percent-encoding 进行编码

尽管 URL 语法没有指定字符集编码,但表现良好的服务器应该接受 UTF-8 字符,只要它们是 percent-escaped。所以希伯来字符 Sheva,unicode 05B0,应该存储在一个 URL 中%D6%B0

要进行诊断,您需要查看通过网络传输的实际字节。不知道这对 iPhone 来说有多容易,但是像Fiddler这样的日志代理可能会有所帮助(是的,我知道,它是一个 Windows 应用程序,但我确信 Mac 有一个等价物)。

于 2010-11-14T12:46:21.640 回答