Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@v2okimochi

PowerShellでSBTの文字化けとjava.nio.charset.MalformedInputException: Input length = 1を倒す

More than 1 year has passed since last update.

開発で文字コード is UTF-8だと、WindowsはShift-JISなどが大好きなので文字化けする。

PowerShellを使っていると、文字コード周りでいつも爆死してしまう。。。

sbt起動時や実行時の文字化け

JVMオプションで -Dfile.encoding=UTF-8を指定していても、sbtの起動時や実行時には文字化けしてしまった。

まず、PowerShell側のデフォルト文字コードはCP932なので、 chcp 65001コマンドで文字コードをUTF-8にしておく。

次に、この記事のようなことをする。

MSYS2とsbtの設定

記事内で 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")

にすると良さそう。

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
v2okimochi
_人人人人人人人人人_           >         <           > お き も ち <           >         <            ̄Y^Y^Y^Y^Y^Y^Y^ ̄           
opt
"INNOVATION AGENCY" を標榜するインターネット広告代理店。エンジニア組織 "Opt Techonologies" を中心にアドテクetc...に取り組んでいます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?