いいもんつくったー

WindowsのロケールをUTF-8にしたらlist.files()でファイルが検出できなくなった

ある日のこと。家で書いたR言語のコードを会社のPCでデバックしようとしたら動かない!!!
昨日まで動いてたのに。バージョンも3.6.1で同じなのに。

どんなエラーはいてる?

file(file, "rt") でエラー: コネクションを開くことができません

csvを読み込もうとしているのにそんなもん存在しないよと言われている。

何が悪さしている?

> input1Path <- paste0(inputPath,"あいうえお/")
> folder <- input1Path
> print(list.files(folder))
character(0)

list.files()が悪そうだ。指定のディレクトリにファイルなんてないよと言われている。list.files()が日本語名のファイルを検出してくれないのが問題のようだ。確かにファイルは存在しているのに。
(本当は日本語のパスや日本語名のcsvなんて扱いたくないさ。。)

f:id:Ry87:20200512231811p:plain
error

昨日は動いたのに今日は動かない。じゃあその変化点はなんだ?
そういえば今日会社PCのシステムローケールいじったな。
会社指定の設定で「ワールドワイド言語サポートでUnicode UTF-8を使用」ってやつにチェック入れたな。
(本当はこんなわけもわからない設定にチェックなんていれたかないさ)
howpon.com

f:id:Ry87:20200512232000p:plain
unicode

チェック外してみた。問題なく動いた。
原因こいつか。エンコードが悪さしてたみたい。ちょっと急ぎの件があるので深入りしないが、ひとまずTipsとしてメモ。