XAMPPでPHPを使うと日本語が文字化けしてしまっていたので、対応方法を調べてみました。
php.iniの修正
XAMPPのコントロールパネルを開き、ApacheのConfigをクリック。
<Browse>[PHP]をクリック。
フォルダからphp.iniを探して開く。
以下の行をそれぞれ探して変更する。
// 変更前 ;mbstring.language = Japanese // 頭の;を外す mbstring.language = Japanese
// 変更前 ;mbstring.internal_encoding = EUC-JP // 頭の;を外す・EUC-JPをUTF-8に変更 mbstring.internal_encoding = UTF-8
// 変更前 ;mbstring.http_input = auto // 頭の;を外す mbstring.http_input = auto
// 変更前 ;mbstring.http_output = SJIS // 頭の;を外す・SJISをUTF-8に変更 mbstring.http_output = UTF-8
// 変更前 ;mbstring.encoding_translation = Off // 頭の;を外す・OffをOnに変更 mbstring.encoding_translation = On
// 変更前 ;mbstring.detect_order = auto // 頭の;を外す mbstring.detect_order = auto
// 変更前 ;mbstring.substitute_character = none // 頭の;を外す mbstring.substitute_character = none
// 変更前 ;mbstring.func_overload = 0 // 頭の;を外す mbstring.func_overload = 0
my.iniの修正
Apacheのコントロールパネルに戻り、MySQLのConfigからmy.iniをクリック。
以下の行をそれぞれ探して変更する。
// 変更前 [client] # password = your_password port = 3306 socket = "C:/xampp/mysql/mysql.sock" // 最後に default-character-set = utf8 を追加 [client] # password = your_password port = 3306 socket = "C:/xampp/mysql/mysql.sock" default-character-set = utf8
// 変更前 #init-connect=SET NAMES utf8 #collation_server=utf8_unicode_ci #character_set_server=utf8 #skip-character-set-client-handshake #character_sets-dir="C:/xampp/mysql/share/charsets" // 頭の#を外す・\'SET NAMES utf8\' を SET NAMES utf8 に変更 init-connect=SET NAMES utf8 collation_server=utf8_unicode_ci character_set_server=utf8 skip-character-set-client-handshake character_sets-dir="C:/xampp/mysql/share/charsets"
// 変更前 [mysqldump] quick max_allowed_packet = 16M // 最後に default-character-set = utf8 を追加 [mysqldump] quick max_allowed_packet = 16M default-character-set = utf8
// 変更前 [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates // 変更後 [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set = utf8
これでPHPで日本語を使用しても文字化けしなくなりました。
【参考サイト】
コメントが承認されるまで時間がかかります。