Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 1.99 KB

File metadata and controls

37 lines (25 loc) · 1.99 KB

PowerShell で sbt を実行したときに日本語を文字化けさせない方法

PowerShell で sbt を起動した際、出力(ファイルパス等)の日本語部分が文字化けしてしまうことがあります。 これは、PowerShell のシステムコンソールの出力エンコーディング設定が Shift JIS (CP932) であるのに対し、sbt の出力エンコーディングが UTF-8 であるためです。

有名な解決法として、chcp コマンドを前もって実行しておき、コンソールのコードページを 932 から 65001 (=UTF-8) に変更する方法が挙げられます。

chcp 65001
sbt

さて、この方法でも問題はないのですが、chcp でコードページを変更するとコンソールの表示がクリアされてしまいます。

chcp

これが気になる場合は、PowerShell ネイティブな方法でコンソールの出力エンコーディング設定を変更することで回避できます:

[Console]::OutputEncoding = [Text.Encoding]::GetEncoding('utf-8')
sbt

この設定は現在の PowerShell セッションの間だけ持続します。同セッション内で Shift JIS に戻したい場合は、以下のコマンドを実行します:

[Console]::OutputEncoding = [Text.Encoding]::GetEncoding('shift_jis')

OutputEncoding

参考リンク