在R中使用xml2包会将HTML实体转换为Unicode字符:
xml2::read_html("<html> This is a dash – <html>")
# {xml_document}
# <html>
# [1] <body><p> This is a dash \u2013 </p></body>
我想保留HTML实体,因为如果以后使用pandoc将HTML转换为LaTeX,则\u2013
被删除,而–
被正确地转换为--
。
我该如何实现?
我在Linux R 3.6.1上-软件包xml2 1.2.0
答案 0 :(得分:0)
不是实际的解决方案,而是一种解决方法:
Sys.setenv(LANG="en_US.UTF-8")
xml2::read_html("<html> This is a dash – <html>")
# {xml_document}
# <html>
# [1] <body><p> This is a dash – </p></body>
请注意,我仍然会丢失HTML实体,但是输出正确且与Windows输出一致(基于发布的评论)。
仅当我在终端仿真器中运行R时,此修补程序才有效。如果我在Emacs中运行R,我将不断得到\u2013
。