質問: Google DriveやOneDrive管理下のフォルダをワーキングディレクトリにしていると文字化けが起こると聞いたので、ワーキングディレクトリをローカルな場所に置き念の為同期を停止した上で実行しているのですが変わりません。 Tools>Global Options>code>saving>Default text encodingはUTF-8に設定しています。 File>Reopen with EncodingからUTF-9、cp932、SHIFT-JISを試しましたが、いずれでも同じ現象が起きています。
回答: 現時点では Windows でメッセージの日本語化とそれ以外を両立するのは不可能です. UTF-8 が前提となっているからですが, Windows の日本語ロケールでは UTF-8 を使用していないためこうなります. WSL や Docker などで Linux系の仮想環境を作るか, クラウド上の環境で作業するしかありません (UTF-8対応版Rの開発も進んでいますがまだリリースされていません). Windows 環境では, ``` Sys.setlocale("LC_ALL", 'Japanese_Japan.932') ``` として, 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管理下のフォルダをワーキングディレクトリにしていると文字化けが起こる > > 日本語環境ではそれらのフォルダを指すパスに日本語が含まれていることが多いため不具合が起こりやすいですが, 文字化けそのものを引き起こすケースはあまりないと思います. > > >