ぷるぷるの雑記

低レイヤーがんばるぞいなブログ. 記事のご利用は自己責任で.

utf8mb4なのにコンソール上でデータベースが文字化けする

データベースに接続した際、ブラウザ上では問題ないのにxamppのコントロールパネルから起動したコンソールでは文字化けするという現象に出くわす。テーブルの文字コードや照合順序をutf-8に対応したものにしても効果なし。

いろいろためしているうちに、 コマンドプロンプト上だと文字化けしていない ことに気が付く。

それってつまり、データベースではなくコンソールの文字コードが悪いのでは?とういことでchcpコマンドによって文字コードを変更すると無事コンソール上でも文字化けしなくなった。

# chcp 65001

おわり

余談

chcpコマンドはそのままで使うと現在の文字コードを確認することが出来る。

xamppコントロールから起動したコンソールと、コマンドプロンプトのデフォルトの文字コードを確認してみよう!たぶん違う文字コードになってるはず

// コマンドプロンプト
c:\xampp\mysql\bin>chcp
現在のコード ページ: 932


//コンソール
Setting environment for using XAMPP for Windows.
hoge@DESKTOP-0DRLHRD c:\xampp
# chcp
現在のコード ページ: 932

なんでや。。

参考

penpen-dev.com

taustation.com

www.javadrive.jp