

# 環境

OS: Windows 10 Home 64ビット  
Rのバージョン: 4.0.3  
RStudioのバージョン: 1.4.1106  
ディレクトリ:C:\Users\xxx\rmarkdownfile\test.Rmd (xxxには自分のユーザー名が入ります)

# 問題

初めてこちらで質問させて頂きます。  
表題の通り、RStudioでRmarkdownファイルを作成しているのですが、メッセージが文字化けして表示されます。  
例えばパッケージ"socviz"を読み込むため、次のようなチャンクを実行します。

[code]

    library(socviz)
    
[/code]

すると次のようなメッセージが表示されます。

> �p�b�P�[�W �esocviz�f �̓o�[�W���� 4.0.5 �� R �̉��ő����܂���

おそらくメッセージ内容としては  
「警告メッセージ: パッケージ ‘socviz’ はバージョン 4.0.5 の R の下で造られました」  
という内容だと思われ、load自体は出来ているようなのですが、メッセージが読めないと不便なため解決したいと考えています。  
socvizに限らず、MASSやtidyverseなどのライブラリでも同様の文字化けが起こります。  
パスにも文書内にも日本語含む2バイト文字は含まれていません。  
コンソールから直接実行したり、R Scriptsから入力した場合には問題なく日本語が表示されます。

# 対処したこと

Google
DriveやOneDrive管理下のフォルダをワーキングディレクトリにしていると文字化けが起こると聞いたので、ワーキングディレクトリをローカルな場所に置き念の為同期を停止した上で実行しているのですが変わりません。  
Tools>Global Options>code>saving>Default text encodingはUTF-8に設定しています。  
File>Reopen with EncodingからUTF-9、cp932、SHIFT-JISを試しましたが、いずれでも同じ現象が起きています。


CC BY-SA 4.0
2021-06-23T07:36:41.487
77735
2021-06-26T02:39:22.067
45442
question
r markdown rstudio
RStudioでRmarkdownファイルを作成中、日本語メッセージが文字化けする


自己解決致しました。  
Set.locale("LC_ALL",
"C")とすることでエラーメッセージが正常に表示されるようになりました。ただし、ロケールを"C"とすることで2バイト文字を扱えなくなる？ようなので、どうしても日本語を含む必要がある場合にはまた違う方法を考える必要があるかもしれません......。


CC BY-SA 4.0
2021-06-23T08:24:38.783
77737
2021-06-23T08:24:38.783
45442
77735
answer


現時点では Windows でメッセージの日本語化とそれ以外を両立するのは不可能です. UTF-8 が前提となっているからですが, Windows
の日本語ロケールでは UTF-8 を使用していないためこうなります. WSL や Docker などで Linux系の仮想環境を作るか,
クラウド上の環境で作業するしかありません (UTF-8対応版Rの開発も進んでいますがまだリリースされていません). Windows 環境では,

[code]

    Sys.setlocale("LC_ALL", 'Japanese_Japan.932')
    
[/code]

として, OSと同じCP932エンコーディングにして, メッセージは英語表示にするパターンが一番不具合が起こりにくいと思います.

> ロケールを"C"とすることで2バイト文字を扱えなくなる？ようなので

これはそのとおりです. "C" はマルチバイト文字の扱いをやめるという意味です (正確な定義は違いますが). よってそれ以外の場面での不便が増します.

> Tools>Global Options>code>saving>Default text encodingはUTF-8に設定しています。  
>  File>Reopen with EncodingからUTF-9、cp932、SHIFT-JISを試しましたが、いずれでも同じ現象が起きています。

これは読み込むテキストファイル (CSV, R ファイル等) のエンコーディングなので, 今回の問題とは直接関係ありません.
関係しているのはシステムのエンコーディングの変更です.

> Google DriveやOneDrive管理下のフォルダをワーキングディレクトリにしていると文字化けが起こる  
>  日本語環境ではそれらのフォルダを指すパスに日本語が含まれていることが多いため不具合が起こりやすいですが,
> 文字化けそのものを引き起こすケースはあまりないと思います.


CC BY-SA 4.0
2021-06-26T02:39:22.067
77795
2021-06-26T02:39:22.067
40575
77735
answer