Windows版 Android StudioでTerminalの文字化けを直す


Android StudioにはTerminalが付属しており、ここから各種コマンドを実行できます。

Windows環境のAndroid StudioのTerminalで、sqlite3コマンドを使ってエミュレータ上で実行したアプリ内のSQLiteデータベースの中身を確認しようとしたところ、日本語の値が文字化けしてしまいました。

今回はこの文字化けの解決方法を紹介します。

結論からいうと次のコマンドを実行するだけで良いです。

> chcp 65001

文字化けの原因は、SQLiteのエンコードがutf-8なのに対してWindowsのコマンドプロンプトの標準の文字コードがshift-jisであることです。よってコマンドプロンプトの文字コードをutf-8に変更する必要があります。

上記のchcpコマンドは文字コードを設定するコマンドです。65001がutf-8に対応します。
(ちなみにshift-jisは932です)

これで無事SQLiteの中にある日本語も正常に表示されるようになります。

おまけ

今回の本筋ではないですが、AndroidのSQLiteデータベースの中身を確認するコマンドも載せておきます。
以下のコマンドはAndroid StudioのTerminalで実行しています。

adbコマンドで端末のシェル操作が出来る状態にします。

\MyApp> adb shell

sqlite3コマンドでデータベースに接続します。

# sqlite3 /data/data/[APP_PACKAGE_NAME]/databases/[DB_NAME]

接続できると次のようにsqliteのコマンドが実行できるようになります。
SELECT文などSQLを発行できます。

sqlite>
  • このエントリーをはてなブックマークに追加

PAGE TOP