gpt4 book ai didi

ios - 通过 URL 方案启动应用程序后,多语言 URL 变为奇怪的字符

转载 作者:行者123 更新时间:2023-11-28 05:42:52 26 4
gpt4 key购买 nike

我要使用 iOS 提供的 url 方案从网站等外部源启动我的应用程序。例如,我创建了一个 HTML 文件,其中包含如下代码。查询字符串包含一些日文字符。

<html>
<a href="myapp://?appid=12345&destination=奈良県奈良市雑司町406-1">Visit Todaiji</a>
</html>

当我在 safari 模拟器中打开此 html 文件并点击链接“Visit Todaiji”时,我的应用程序通过此 url 方案成功打开。

问题是当我在 open url delegate 中收到这个 url

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool 
{
return true
}

url 被转换为如下

myapp://?appid=12345&destination =奈良県奈良市é%E2%80%BA‘å%C2%8F¸ç”º406-1

我尝试了多种类型的编码(如 UTF-8、ASCII、nonLossyASCII)将字符串转换回日文,但没有任何效果。如果在 Mac Safari 中打开 html 文件并单击链接,同样的行为也可以在 safari 地址栏中看到。是否可以从 url 中获取日语字符串。

最佳答案

URI 不应包含原始日语(和许多其他国际语言)字符。您的参数值应该是百分比编码的。

该乱码参数可能是原始日语文本被解码为百分比编码字符串的结果。

如果将其用于 href 会怎样?

myapp://?appid=12345&destination=%e5%a5%88%e8%89%af%e7%9c%8c%e5%a5%88%e8%89%af%e5%b8% 82%e9%9b%91%e5%8f%b8%e7%94%ba406%2d1

关于ios - 通过 URL 方案启动应用程序后,多语言 URL 变为奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55969229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com