Using “cat” to write non-English characters into a .html file (in R)

拜拜、爱过 提交于 2019-12-01 21:09:43

Your code is a bit redundant. Is temp1.txt on line 5 a typo (.html)? Anyway, perhaps you should set charset within <meta> tag.

Take this as an example:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
cat("abcd")
cat("<BR/><BR/><BR/>")
cat("שלום")
cat("שלום")
(x <- iconv("שלום", from = "CP1252", to = "UTF8") )
cat(x)
-%>
</body>
</html>

It is a brew code, so if you go ahead and brew it, you'll get correct response. Long story short, the keyword was charset.

Konrad Rudolph

The problem isn’t with R (R is correctly producing UTF-8 encoded output) … it’s just that your web browser assumes the wrong encoding in the absence of an explicitly specified encoding. Just use the following snippet (from inside R) instead:

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
    </head>
    <body>
        שלום
    </body>
</html>

This specifies a correct encoding (UTF-8), and hence causes the browser to thread the following text correctly.

Try it this way

cat("abcd", file = (con <- file("temp1.html", "w", encoding="UTF-8"))); close(con)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!