開発で文字コード is UTF-8だと、WindowsはShift-JISなどが大好きなので文字化けする。
PowerShellを使っていると、文字コード周りでいつも爆死してしまう。。。
sbt起動時や実行時の文字化け
JVMオプションで -Dfile.encoding=UTF-8
を指定していても、sbtの起動時や実行時には文字化けしてしまった。
まず、PowerShell側のデフォルト文字コードはCP932なので、 chcp 65001
コマンドで文字コードをUTF-8にしておく。
次に、この記事のようなことをする。
記事内で build.sbt
に書く部分を ~/.sbt/1.0/global.sbt
に書いた。
(全てのプロジェクトに適用したくて)
やったか!?
余談
sbtの設定 (configとか)周りで色んな情報があったけど、僕の場合はどれもダメだった(別のケースではいけるかも)
Windowsでsbt!@Git Bash
sbt 実行時に文字コードを UTF-8 に設定する
【解決済み】【Scala】WindowsでGit Bash利用時のsbt文字化け問題とその対策
java.nio.charset.MalformedInputException: Input length = 1
これも、文字コードが合わない時にエンカウントしがちなエラーっぽい。
Scalaでファイル読み込みの際に遭遇する( fromFile
でも fromResource
でも)
MalformedInputException when trying to read entire file
どうやらシステム?のデフォルトエンコーディングを用いるらしく、多分WindowsだとデフォルトがUTF-8じゃないからお亡くなりになってそう。
"MalformedInputException: Input length = 1 " exception solution for Scala and Java
How to read a text file with mixed encodings in Scala or Java?
上記で紹介されているように、ファイル読み込み処理で明示的に文字コード指定すれば良さそう。
他にも、
scala.io.Source.fromResource("v2okimochi_file_name")
と書いてMalformedInputExceptionだった場合は、
scala.io.Source.fromResource("v2okimochi_file_name")("UTF-8")
にすると良さそう。