PowerShell で sbt を起動した際、出力(ファイルパス等)の日本語部分が文字化けしてしまうことがあります。
これは、PowerShell のシステムコンソールの出力エンコーディング設定が Shift JIS (CP932) であるのに対し、sbt の出力エンコーディングが UTF-8 であるためです。
有名な解決法として、chcp
コマンドを前もって実行しておき、コンソールのコードページを 932
から 65001
(=UTF-8) に変更する方法が挙げられます。
chcp 65001
sbt
さて、この方法でも問題はないのですが、chcp
でコードページを変更するとコンソールの表示がクリアされてしまいます。
これが気になる場合は、PowerShell ネイティブな方法でコンソールの出力エンコーディング設定を変更することで回避できます:
[Console]::OutputEncoding = [Text.Encoding]::GetEncoding('utf-8')
sbt
この設定は現在の PowerShell セッションの間だけ持続します。同セッション内で Shift JIS に戻したい場合は、以下のコマンドを実行します:
[Console]::OutputEncoding = [Text.Encoding]::GetEncoding('shift_jis')