XAMPPでphpが文字化けする場合の対応

XAMPPでPHPを使うと日本語が文字化けしてしまっていたので、対応方法を調べてみました。

php.iniの修正

XAMPPのコントロールパネルを開き、ApacheのConfigをクリック。

correspondence-in-the-case-of-php-are-garbled-in-xampp01

<Browse>[PHP]をクリック。

correspondence-in-the-case-of-php-are-garbled-in-xampp02

フォルダから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をクリック。

correspondence-in-the-case-of-php-are-garbled-in-xampp03

以下の行をそれぞれ探して変更する。

// 変更前
[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で日本語を使用しても文字化けしなくなりました。
 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930