コード内に日本語を含むパッケージはDESCRIPTIONにEncode:UTF-8って書いとかないといけないっぽい
最近Rを動かす環境をWindowsに変えたんですが、文字コードまわりではまりまくってます...。
↓こんな感じでUnicode文字を含むコードがあると、
to_osaka_ward_code <- function(ward_name, from = c("kanji", "alphabet")) { from <- match.arg(from) if(from == "kanji") { # add 区 suffix if no 区 ward_name_ <- str_replace_all(ward_name, "([^区])$", "\\1区")
見事に文字化けします。。
to_osaka_ward_code #> function(ward_name, from = c("kanji", "alphabet")) { #> from <- match.arg(from) #> #> if(from == "kanji") { #> # add 蛹コ suffix if no 蛹コ #> ward_name_ <- str_replace_all(ward_name, "([^蛹コ])$", "\\1蛹コ")
で、困り果てていたところ、こんな情報がありました。
Encoding: UTF-8
という一行をDESCRIPTIONファイルに書いてみると、文字化けが直りました。ほっ。
パッケージをビルドするときにすでに化けているのか、ロードするときに化けているのかよく分かりませんが、とにかくWindowsのデフォルトのエンコーディングがShift_JISなのに、RのファイルのエンコーディングはUTF-8なのが問題らしいです。
uribo氏の解説(↓)を読んですっかり紐解いた気になっていたDESCRIPTIONですが、まだ紐解かれていない闇が色々あるという知見を得た出来事でした。うむむ。。