2010年7月18日日曜日

PHP + MySQL での文字化け

私の環境
PHP + MySQL
サーバーはCORESERVERです。

基礎からのPHPという本の
Part3, Chapter18のList18-2とList18-3で発症。
私は発狂。

大体の流れはHTMLからFORMで送信。
その情報をPHPで受け取りDBにアクセス。
そして対応した情報を取得。
表示したら文字化け。
という流れ。

とりあえずの対応策としてはphpとhtmlの部分に
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta>
<meta content="ja" http-equiv="Content-Language"></meta>
とやっておく。

んでphpファイルにPOSTで受け取る前に以下のコードを追加
mb_language("uni"); //<--追加
mb_internal_encoding("utf-8"); //<--追加
mb_http_input("auto"); //<--追加
mb_http_output("utf-8"); //<--追加

//!< この上に追加
$hoge = $_POST['hoge'];

これでいけました。
理由?
ググッてください(キリッ

参考サイト
PHP+MySQL+UTF-8で文字化け回避

0 件のコメント:

コメントを投稿