【備忘録】テスト環境用でWindows PCに設定したXAMMPで文字化けするので、各種サイトを参考にXAMPPをUTF-8ベースに変更しました。
OS:windows XP 32bit
XAMPP 1.8.2
Apache 2.4.4
MySQL 5.4.19
PHP 5.5.1
phpMyAdmin 4.0.4.1
実施したことは、以下の2点:phpとmysqlの環境設定です。
環境
下記の環境での設定です。OSやXAMMP等のバージョンが異なる場合は、この通りでは無い可能性があります。OS:windows XP 32bit
XAMPP 1.8.2
Apache 2.4.4
MySQL 5.4.19
PHP 5.5.1
phpMyAdmin 4.0.4.1
実施したことは、以下の2点:phpとmysqlの環境設定です。
php.iniを修正する
- "C:\xampp\php\"のphp.iniを開きます。
- 下記の「mbstring」設定を変更します。
- デフォルトの言語を設定
;mbstring.language = Japanese
↓
mbstring.language = Japanese
→ ";"を削除し、デフォルト言語を日本語に設定します。
デフォルトの内部エンコーディングを設定
;mbstring.internal_encoding = EUC-JP
↓
mbstring.internal_enocoding = UTF-8
→ ";"を削除し、内部エンコーディングを"UTF-8"に設定します。
※注意: PHPで動作する文字エンコーディングを使用する。
デフォルトのHTTP入力文字エンコーディングを設定
;mbstring.http_input = auto
↓
mbstring.http_input = auto
→ ";"を削除し、HTTP 入力を auto に設定します。
"auto" は mbstring.language の設定を使って展開されます。
※注意: スクリプトではhttp_inputの設定は変更できません。
デフォルトのHTTP出力文字エンコーディングを設定
;mbstring.http_output = SJIS
↓
mbstring.http_output = UTF-8
→ ";"を削除し、HTTP出力エンコーディングを"UTF-8"に指定します。
エンコーディングフィルタを設定
;mbstring.encoding_translation = Off
↓
mbstring.encoding_translation = On
→ ";"を削除、"On"に変更し、エンコーディングフィルタを有効にします。
デフォルトの文字エンコーディング検出順序を設定
;mbstring.detect_order = auto
↓
mbstring.detect_order = auto
→ ";"を削除し、デフォルトの順番を auto に設定します。
代替文字のデフォルト値を設定
;mbstring.substitute_character = none
↓
mbstring.substitute_character = none
→ ";"を削除し、文字を出力しないに設定します。
関数オーバーロードを設定
;mbstring.func_overload = 0
↓
mbstring.func_overload = 0
→ ";"を削除し、設定を有効にします。
※mbstring 設定オプションの詳細はphp Manualを参照して下さい。 - デフォルトの言語を設定
MySQLの修正する
- "C:\xampp\mysql\bin\my.ini"を変更します。
- 下記の設定を変更します。
- # [client]ブロックに下記の行を追加する
character-set-server=utf8
# [mysqld]ブロックに下記の行を追加する
character-set-server=utf8
skip-character-set-client-handshake
# [mysqldump]ブロックに下記の行を追加する
character-set-server=utf8
# [mysql]ブロックに下記の行を追加する
character-set-server=utf8
※MySQL 5.6の場合は[mysqld]ブロックに追加される文が"character-set-server=utf8"ではなく、"default-character-set=utf8"である点に注意
- # [client]ブロックに下記の行を追加する
コメント
コメントを投稿