Swift 3 - 撇号在屏幕上转换为 â



在我的 Swift 3 应用程序中,我从 Web API 获取 HTML 文本以在 UIWebView 中呈现。 但是,撇号特别是撇号,也许还有其他特殊字符呈现为重音字母,而不是它们的实际值。 例如,"运输"的文本显示为"运输"。

代码很简单。

var myHTMLString = try String(contentsOf: myURL, encoding: .ascii)
//myHTMLString = "some bâd string"
webview.loadHTMLString(myHTMLString, baseURL: nil);

API 上的值是正确的。 为什么在抓取时会发生这种情况?

将编码更改为.utf8

我不确定为什么.ascii不起作用,尽管我怀疑它与 HTML 实体编码有关。如果我找到原因,我会更新这个答案...

更新:此 w3schools.com 页面解释了HTML现在被认为是UTF-8标准。UTF-8 可以处理更大的字符集。显然,Web视图浏览器可以理解UTF-8中的HTML实体(例如,'表示撇号),但不能理解ASCII。

相关内容

  • 没有找到相关文章

最新更新