我想从R输出html,并且遇到特定字符的问题。为了说明,一个函数:
output = function(str, fn){ sink(fn); cat(str); sink(); browseURL(fn) }
output("It's an apostrophe", 'good.html')
output("It’s a right single quote", 'bad.html')
感谢任何不需要临时角色替换的一般解决方案的提示。
答案 0 :(得分:2)
您没有在HTML文件中指定编码,因此浏览器猜测 - 严重 1 。这是文本数据的一般问题,但对于HTML,有一个简单的解决方案:在HTML中指定编码;例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
It’s a right single quote
</body>
</html>
...并将此文本写为UTF-8文件:
output = function (str, filename) {
file = file(filename, encoding = 'UTF-8')
on.exit(close(file))
cat(str, file = file)
browseURL(filename)
}
1 虽然这取决于很多因素:在我的电脑上,你的代码恰好起作用。