はじめに
普段のエディタは vimなんですが、ちょっとした作業や誰かと画面を共有するときは Sublime Text を使用しています。
この前、初めてSublime Text の Build Systems を使ったのですが、そのときに日本語の文字化けが発生したので、その解決方法を調べました。
環境
- Sublime Text 3 Build 3200
- Windows 10
事象
日本語を含む Kotlin ソースをビルドして、実行すると文字化け発生。Build には Kotlin のパッケージを使用。
解決方法
- PackageResourceViewer のパッケージをインストール
- コマンドパレットを開いて、
PckageResourceViewer:Open Resource
を実行
その他の解決方法と原因の考察
今回は、exec.py
の編集で対応しましたが、以下のように新しいビルドシステムを新規に追加して、"encoding": "cp932"
と設定する方法もあります。
Sublime Text3のPythonビルドで日本語出力できない問題と、Python2、3ビルド切り替え | みろりHP
しかし、これではデフォルトで準備されているビルドシステムをすべて置き換える必要があるため、今回は本記事の方法を採用しました。
解決方法の参考にしたのは、以下の記事です。
subprocess.run(..., stdout=subprocess.PIPE)で日本語を含む場合のメモ(文字コード判定) - Qiita
exec.py
の中にも、subprocess.run(..., stdout=subprocess.PIPE)
を使用している部分があったため、同じ原因だろうと予想しています。もう少し、ちゃんとPython のコードが読めるようになりたい...。
終わりに
今回は、Sublime Text の文字化けの対応をしてみました。Windows では cp932
がまだまだ使われており、Mac や Linux と同じようにうまくは行かないな...と実感しました。
Python もまだまだ理解できていない部分もあるので、引き続き勉強したいと思います。