<MySQL><PHP>MAMP 文字化け対策
MAMPにおけるMySQL,PHPのUTF-8変更方法を記します。
実行環境
- MacBook Pro
- MAMP 2.1.3
- PHP 5.4.10
MySQL
確認
mysql> show variables like 'char%'; +--------------------------+--------------------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /Applications/MAMP/Library/share/charsets/ | +--------------------------+--------------------------------------------+ 8 rows in set (0.00 sec)
変更方法
- 設定ファイルをコピー
$ cp /Applications/MAMP/Library/support-files/my-large.cnf /Applications/MAMP/conf/my.cnf
- 設定ファイルを下記の通りに編集
[mysqld]項目に2行追加 character-set-server = utf8 skip-character-set-client-handshake
- MySQLを再起動
再確認(設定反映を確認)
mysql> show variables like 'char%'; +--------------------------+--------------------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /Applications/MAMP/Library/share/charsets/ | +--------------------------+--------------------------------------------+ 8 rows in set (0.00 sec)
PHP
変更方法
- 設定ファイルを5箇所編集
$ vim /Applications/MAMP/bin/php/php5.4.10/conf/php.ini 1)default_charset (変更前);default_charset = "iso-8859-1" (変更後)default_charset = "UTF-8" 2)mbstring_language (変更前);mbstring.language = Japanese (変更後)mbstring.language = Japanese 3)mbstring.internal_encoding (変更前);mbstring.internal_encoding = EUC-JP (変更後)mbstring.internal_encoding = UTF-8 4)mbstring.http_input (変更前);mbstring.http_input = auto (変更後)mbstring.http_input = auto 5)mbstring.detect_order (変更前)mbstring.detect_order = auto (変更後)mbstring.detect_order = SJIS,EUR-JP,JIS,UTF-8,ASCII
- MAMPを再起動