【发布时间】:2011-11-20 20:39:43
【问题描述】:
我希望使用 R 将一个以 ANSI 编码的 HTML 文件转换为 UTF-8。
是否有工具或工具组合可以完成这项工作?
谢谢。
编辑:好的,我已将问题缩小到另一个问题。此处转载:Using "cat" to write non-English characters into a .html file (in R)
【问题讨论】:
我希望使用 R 将一个以 ANSI 编码的 HTML 文件转换为 UTF-8。
是否有工具或工具组合可以完成这项工作?
谢谢。
编辑:好的,我已将问题缩小到另一个问题。此处转载:Using "cat" to write non-English characters into a .html file (in R)
【问题讨论】:
你可以使用iconv:
writeLines(iconv(readLines("tmp.html"), from = "ANSI_X3.4-1986", to = "UTF8"), "tmp2.html")
tmp2.html 应该是 utf-8。
Henrik 于 2015 年 6 月编辑:
从 cmets 中提取的 Windows 工作解决方案如下:
writeLines(iconv(readLines("tmp.html"), from = "ANSI_X3.4-1986", to = "UTF8"),
file("tmp2.html", encoding="UTF-8"))
2021 年更新:如果 ANSI 是当前语言环境,则以下方法也有效(即,使用本地编码作为 from 源):
writeLines(iconv(readLines("tmp.html"), from = "", to = "UTF8"),
file("tmp2.html", encoding="UTF-8"))
【讨论】:
from = "CP1252"怎么样?
?Encoding:“ASCII 字符串永远不会用声明的编码进行标记,因为它们的表示在所有支持的编码中都是相同的。”也可以在对writeLines 的调用中尝试useBytes = TRUE。
我对上面提出的解决方案有一些问题,尤其是 TAB 字符。这种选择从未让我失望。不幸的是,它只适用于类 UNIX 系统。
system('iconv -f CP1252 -t UTF-8 < tmp.html > tmp2.html')
【讨论】: