PHP+MySQLいくら解決策をやっても文字化け
PHP、MySQL初心者です。
MAMPを使って開発を行っているのですが、
どうやっても
ターミナル内の日本語
PHPmyadminでinsertした日本語
MySQLから吸い出したPHPデータの日本語(apacheを使ってローカルサーバーで確認)
PHPからinsertした日本語
が文字化けをし、 ??????? みたいな感じになります。
色々調べできる限りはやりましたがダメです。
---------------------------------------------------------------
環境は
Mac OS X 10.6.5 snow leopard
MAMP1.9.2
PHP5.3.2
MySQL5.1.44
phpMyAdmin3.2.5
Apache2.0.63
---------------------------------------------------------------
行った解決策
(1)
/Applications/MAMP/Library/share/mysql/
にあるmy-medium.cnfをコピー
/Applications/MAMP/db/mysql/
に入れmy.cnfにリネーム
[mysqld]
default-character-set=utf8
init-connect=SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
skip-character-set-client-handshake
[mysql]
default-character-set=utf8
を追記
(2)
MAMP/conf/php5.3
にあるphp.iniを
変更前:;default_charset = “iso-8859-1″
変更後:default_charset = “UTF-8″
変更前:magic_quotes_gpc = On
変更後:magic_quotes_gpc = Off
変更前:;mbstring.language = Japanese
変更後:mbstring.language = Japanese
変更前:;mbstring.internal_encoding = EUC-JP
変更後:mbstring.internal_encoding = UTF-8
変更前:;mbstring.http_input = auto
変更後:mbstring.http_input = auto
変更前:;mbstring.detect_order = auto
変更後:mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII
(3)
phpデータ内のheadに
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
を記述
もちろん上記の設定後にMAMPの再起動等しております。
ちなみに
ターミナルにて
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/mysql/charsets/
となっております。
どうしたら文字化けが治るのでしょうか?
かなり調べましたが、つんでます。
お願いします。
補足
ご回答ありがとうございます。 databaseをdropしてcreateしているのですがうまくいきません。