XAMPP環境のshellで文字コードがUTF8のPHPのプログラムが文字化けするときの対処方法

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

この記事を書いた背景

XAMPP環境のshellで文字コードがUTF8のPHPのプログラムを実行しようとしたところ、文字化けしてしまいました。

その解決メモ。

原因

文字コードの設定の問題でした。

ただし、PHP側の設定ではなく、コマンドプロンプトの文字コード設定でした。

コマンドプロンプトの標準の文字コードはShift-JISのため、XAMPPコントロールパネルのshellボタンで表示されるものもShift-JISで処理されます。

当然PHPプログラムがUTF-8の場合は文字化けするので、表示用の文字コードを切り替える必要があります。

現在のコードページの確認の仕方

コマンドプロンプトの設定は次の手順で確認できます。

  1. XAMPPコントロールパネルのshellボタンをクリックし、コマンドプロンプトを開く
  2. コマンドプロンプトの左上のアイコンをクリックし、「プロパティ」メニューを選択する
  3. 「オプション」タブ、「現在のコードページ」を確認します

shellを起動した直後は次の様にShift-JIS(CP932)が設定されています。

Shift-JISのコマンドプロンプト

解決方法

次の様にchcpコマンドを使ってUTF-8のコードページ(65001)を指定します。

chcp 65001

成功すると次のメッセージが表示されます。

Active code page: 65001

先の手順でコードページを確認すると、次の様にUTF-8が設定されているはずです。
※chcpコマンドを引数なしで呼び出しても確認できます

UTF8のコマンドプロンプト

なお、表示フォントは日本語が使えるもの(MSゴシックなど)を指定していないと文字化けます。

まとめ

PHPの設定と思い込んでphp.iniの文字コードの設定を弄ってばかりしてました。

一歩引いて考えないと無駄な時間を使っちゃいますね。気を付けます。

ところで、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作れたら良いと思ったことはありませんか?

ワードプレスを使えば実現できるのですが、いくつかのポイントを外すと失敗してしまいます。
実際、私は仕事柄いくつもの失敗を見てきました。

このメール講座では、その大事なポイントについて失敗事例を元に解決策をお伝えします。

普段お使いのメールアドレスを入力し、ボタンをクリックしてお申し込みください。

メールアドレス:

過去の講座受講者から感想をいただきました♪

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

山本をフォローするだけでちょっぴりお得な情報が見つかりますよ↓↓↓