オーダーメイドコース
icon
icon

XAMPPの文字化けをphp.iniの設定で直す方法【初心者向け】

XAMPP(ザンプ)でPHPファイルが文字化けした時に修正する方法を初心者向けに解説した記事です。修正するには、「php.ini」というファイルの設定を変える必要があります。今回は、文字コード、タイムゾーン、マルチバイト設定を扱います。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

監修してくれたメンター

mentor-hakamata

新卒入社した会社がブラックな環境で自己研鑽の時間も作れず、これではだめだと思い転職。2度の転職を経て現在3社目。まだまだ挑戦中。
C#, Ruby, Python, JavaScriptなど経験。

開発環境のXAMPPをインストールするだけでは、PHPファイルをアップした時に日本語が文字化けを起こすことがあります。

そんな時は、XAMPPの「php.ini」を設定する必要がありますので対策しておきましょう。

今回はphp.iniの設定方法をテックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

目次

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

php.iniを開く

「XAMPP Control Panel」を起動します。

XAMPPのコントロールパネルが表示されたら、Apacheの行にあるStartボタンをクリックしてください。

 

クリック後、緑枠のように「PID(s)」と「Port(s)」に数字が割り振られたらOKです。

 

次にブラウザで「http://localhost/dashboard/phpinfo.php」と入力して開きます。

そうすると以下の画面が表示されますが、php.iniのファイルのパスを確認してください。

Loaded Configuration File の行です。

 

C:\xampp\php\php.ini が確認できましたので、このファイルをテキストエディタで開きましょう。

このように表示されるので、テキストエディタ上で設定を変更していきます。

 

大石ゆかり

php.iniっていうのは、phpに関する設定ファイルですか?

田島悠介

そうなんだ。今回は文字コード関連なんだけど、外部のファイルを読み込める設定があったり、PHPの動作時間を30秒以上にする設定なども可能だよ。

大石ゆかり

それは面白そうですねー。

田島悠介

では、php.iniファイルを開いてみよう!

 

php.iniを設定する

今回は3つの設定を行います。

 

文字コードの設定

まずは文字化けを起こさないように、文字コードを設定します。

ここでは文字コードを「UTF-8」に設定します。

テキストエディタ上で「default character」で検索して、下記の内容に修正してください。

; PHP's default character set is set to empty.
; http://php.net/default-charset
;default_charset = "iso-8859-1"
default_charset = UTF-8

 

タイムゾーンの設定

タイムゾーンを日本に設定します。

同じく、テキストエディタ上で「[Date]」で検索して、下記の内容に修正してください。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone=Europe/Berlin
date.timezone=Asia/Tokyo

 

日本語利用のためのマルチバイト設定

最後に、日本語を使えるようにマルチバイトを設定します。

テキストエディタ上で「[mbstring]」で検索して、下記の内容に修正してください。

[mbstring]
; language for internal character representation.
; http://php.net/mbstring.language
;mbstring.language = Japanese
mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
; http://php.net/mbstring.internal-encoding
;mbstring.internal_encoding = EUC-JP
mbstring.internal_encoding = UTF-8

 

すべて修正できたら、テキストエディタで保存をしてファイルを閉じてください。

これで設定は完了です。

XAMPPを実際に使って確かめてみてください。

 

[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは

おわりに

XAMPPの文字化けをphp.iniの設定で直す方法については以上です。

PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法PHPとHTMLをまとめてコメントアウトする方法についてもあわせて読んでみてください。

 

大石ゆかり

タイムゾーンをAsia/Tokyoに、文字コードをUTF-8にすればOKですか?

田島悠介

そうそう。タイムゾーンは設定しないでやってみるとわかるんだけど、時刻の基準が設定した側になって、ずれるんだ。文字コードをWebではUTF-8が標準になってるんだ。

大石ゆかり

文字コードは種類が多いですね。日本語で3種類ぐらいあるんですか?

田島悠介

そうなんだ。後、作成したファイルの文字コードと、表示するように指定した文字コードを確認したいね。php.iniの設定が終ったら、Apacheを再起動するんだ。そうすれば設定が反映されるよ。

 

PHPを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!