【发布时间】:2010-01-01 18:01:38
【问题描述】:
例如,我对 NSURL 和泰国语言有疑问 "http://www.xyp.com?var=ไทย" 它不起作用,但如果你使用 “http://www.xyp.com?var=Thai” 没关系。我不知道如何解决这个问题,请帮助我。
【问题讨论】:
例如,我对 NSURL 和泰国语言有疑问 "http://www.xyp.com?var=ไทย" 它不起作用,但如果你使用 “http://www.xyp.com?var=Thai” 没关系。我不知道如何解决这个问题,请帮助我。
【问题讨论】:
我在 URL 字符串上使用了 stringByAddingPercentEscapesUsingEncoding 方法,它解决了问题,我使用的是丹麦字符
【讨论】:
问题实际上在于 URI 的定义。 RFC3986 将 URI 的内容以及扩展的 URL 定义为 ASCII 字符,因此您必须以某种方式对其进行编码。这就是Percent encoding 的全部意义所在。问题是没有人同意编码什么字节。 Some people 更喜欢获取原始内容,将其转换为 UTF-8,然后使用标准百分比编码对字节进行编码。其他人只会直接对 UCS-2 字节进行编码,但你会遇到 Byte order 问题。
您可能还想阅读UNICODE URL Decoding 的帖子。
【讨论】:
NSURL 要求所有特殊字符都被转义。
【讨论】:
尝试 url 编码
搜索关键词“url encode”,你可以找到一些类似https://www.urlencoder.org/
然后http://www.xyp.com?var=ไทย会被编码成这样的东西
http%3A%2F%2Fwww.xyp.com%3Fvar%3D%E0%B9%84%E0%B8%97%E0%B8%A2
【讨论】: