#chiroito ’s blog

Java を中心とした趣味の技術について

babun が文字化けするので英語にする

Windos で babun を使いながら vagrant を実行していたら一部のコマンドが文字化けていることに気付いたので直し方のメモ。

試しにおかしかったコマンドの例として ping を実行

> ping 192.168.56.1
192.168.56.1 ▒▒ ping ▒𑗐M▒▒▒Ă▒▒܂▒ 32 ▒o▒C▒g▒̃f▒[▒^:

盛大に文字化けていて何を言っているのかが分からない…

ping はどこにあるのかを調べてみてみる。

> which ping
/cygdrive/c/windows/system32/ping

おかしかったのは Windows がもともと持っているコマンドだけだったようです。

コマンドプロンプトの文字コードが引き継がれているようなので、文字コードを変更してみます。

> chcp.com 437
Active code page: 437

※日本語は 932 で、英語が 437 です。

試しにもう一度 ping を実行してみると、以降の処理は英語になっていました。

> ping 192.168.56.1
Pinging 192.168.56.1 with 32 bytes of data:

これだけですと、babun を起動するたびにchcp.com 437を実行しないといけないので、起動時に自動的に実行されるようにしましょう。

bash を使用している場合には、/etc/bash.bashrcファイルにchcp.com 437を記述しましょう。

/etc/bash.bashrc

# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any warranty.
# You should have received a copy of the CC0 Public Domain Dedication along
# with this software.
# If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.

# base-files version 4.2-3

# /etc/bash.bashrc: executed by bash(1) for interactive shells.

# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/bash.bashrc

# Modifying /etc/bash.bashrc directly will prevent
# setup from updating it.

# System-wide bashrc file
chcp.com 437

# Check that we haven't already been sourced.
[[ -z ${CYG_SYS_BASHRC} ]] && CYG_SYS_BASHRC="1" || return
#(略)