Swift 3 - Apostrophes被转换为屏幕刮擦

时间:2018-04-13 14:30:13

标签: html swift swift3 uiwebview

在我的Swift 3应用程序中,我从web api获取HTML文本以在UIWebView内部呈现。但是,撇号具体而且可能是其他特殊字符呈现为重音字母而不是其实际值。例如,“Transportation's”的文本显示为“Transportationâs”。

代码很简单。

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

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

1 个答案:

答案 0 :(得分:2)

将编码更改为.utf8

我不确定为什么.ascii不起作用,但我怀疑它与HTML实体编码有关。如果我找到理由,我会更新此答案......

更新:此w3schools.com page说明HTML现在被视为UTF-8标准。 UTF-8可以处理更大的字符集。显然,webview浏览器能够理解UTF-8中的HTML实体(例如,'代表撇号),而不是ASCII。