「文字化けを回避する方法はないの?」
プログラミングを学習し始めてXAMPPを利用することが多くなった際に、文字化けが起きてしまったことはありませんか?
XAMPPを使用する機会はPHPを学習する際に多いのですが、プログラムを実行した際に文字化けを起こしてしまうことがあります。
文字化けは「php.ini」ファイルを修正することで改善することができます。
具体的な方法や手順について解説をしていきますので、ぜひ参考にしてみてくださいね。
目次
「php.ini」でXAMPPの文字化けを回避する方法
- 「php.ini」ファイルを開く
- 文字コードの設定
- タイムゾーンの設定
- 日本語利用のためのマルチバイト設定
手順としてはこの通りとなります。では具体的な方法を解説していきます。
「php.ini」ファイルを開く
まずは「php.ini」ファイルを開きましょう。
XAMPPのフォルダから、 XAMPP > etc >「php.ini」という操作の順で開くことができます。
ファイルを開く際、使用している機器によってエディタの種類が違いますので注意しましょう。
- Mac OS:テキストエディット
- Windows:メモ帳
もしくは、フリーのテキストエディタを使用してファイルを修正することが可能です。
»プログラミングにおすすめの人気無料エディタ7選【初心者向け】
文字コードの設定
文字化けを起こさないために、文字コードを変更しましょう。
文字コードは、「UTF-8」に設定をします。
もし、該当のコードが見つかりにくい場合は「default character」で検索をし、下記の通りに修正をしましょう。
1 2 3 4 |
; PHP's default character set is set to empty. ; http://php.net/default-charset ;default_charset = "iso-8859-1" default_charset = UTF-8 |
タイムゾーンの設定
続いて「タイムゾーン」の設定です。タイムゾーンを日本に設定しましょう。
こちらも同じように、テキストエディタ上で [date] と検索をして、下記の内容に修正しましょう。
1 2 3 4 5 |
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone=Europe/Berlin date.timezone=Asia/Tokyo |
日本語利用のためのマルチバイト設定
ここまでで基礎的な設定はできました。最後に日本語を使用できるとように、マルチバイトを設定していきます。
同じくテキストエディタ上で [mbstring] と検索をし、下記の内容に修正しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 |
[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を起動して確認をしておきましょう。
MySQLの設定で文字化けを回避する方法
もう一つの文字化け回避方法として、MySQLの設定を行う方法があります。
その方法を下記でご紹介しますので、参考にしてみましょう。
my.iniの修正
まずは「my.ini」を開きます。
「XAMPP ControlPanel」でMySQLの「Config > my.ini」をクリックして開きましょう。
- Mac OS:テキストエディット
- Windows:メモ帳
もしくは、フリーのテキストエディタを使用してファイルを修正します。
[client]の修正
「my.ini」を開くことができたら、「default-character-set」と検索をして下記の通りに修正します。
1 2 3 4 |
[client] # The MySQL server #default-character-set=utf8mb4 default-character-set=utf8 |
[mysqld]の修正
続いての修正箇所です。
「character_set_server」と「skip-character-set-client-handshake」を検索して、下記の通りに修正しましょう。
1 2 3 4 5 6 7 |
## UTF 8 Settings #init-connect=\'SET NAMES utf8\' #collation_server=utf8_unicode_ci #character_set_server=utf8 #skip-character-set-client-handshake character_set_server=utf8 skip-character-set-client-handshake |
ここまでの修正ができたら、エディタを保存してファイルを閉じます。
MySQLを起動
続いて「XAMPP ControlPanel」でMySQLを「Start」とし、起動させます。
データベースを作り直す
データベースを作り直すために、phpMyAdminを開きましょう。この際に、ApacheもStartして起動させておきます。
MySQLのAdminボタンをクリックし、phpMyAdminを開きます。
データベースの削除
もともと作成してあるテーブルには反映されないため、データベースごと作り直しましょう。
左側のデータベース「test」をクリックし、上の操作タブをクリックし開きます。
操作タブ内で「データベースを削除する(DROP)」をクリックし、データベースを削除します。
この際に確認画面が表示されますが、そのまま「OK」を押しデータベースを削除しましょう。
データベースの新規作成
続いて「データベース」のタブをクリックし、データベース名を「test」と入力してプルダウンを「utf8_general_ci」に変更し、作成ボタンをクリックします。
この際に「UTF-8」を選びます。
以上の操作でMySQLでの文字化け回避の設定ができました。
最後に確認として、phpMyAdminの「挿入」タブからレコードを登録します。
「ウェブカツ、プログラミング」(なんでも大丈夫です)で登録してみて文字化けしていなければ、成功です。
まとめ
いかがでしたか?
この記事では、「XAMPPの文字化けを回避する方法」についてご紹介しました。
- 「php.ini」
- 「MySQL」
2通りの方法がありますが、目的に合ったパターンを選択しましょう。
これでXAMPPの文字化け対策はバッチリです!