SQLデータベース挿入時にUTF-8へエンコードを行い文字化けを解消する

Webアプリケーションを開発しユーザからの入力をデータベースに格納する際,
文字コードの指定を行わなければ意図しない形式でデータが保存されることになります.

今回はDBへの接続時にちょっとしたおまじないを付加することで
文字列をUTF-8で扱い, 文字化けを防ぎます.

文字列をUTF-8に固定してデータベースとのやり取りを行う場合は, 以下コードのようにDBへの接続関数に文字列の指定を含めておきましょう.

//データベース接続
function connectDB(){
mb_language(“uni”);
mb_internal_encoding(“utf-8″); //内部文字コードを変更
mb_http_input(“auto”);
mb_http_output(“utf-8″);
$db=mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die(‘cannot connect to DB: ‘ . mysql_error());
mysql_query(“SET NAMES utf8″,$db); //クエリの文字コードを設定
mysql_select_db(DB_NAME) or die(‘cannot select DB: ‘ . mysql_error());
}

※DB_HOST, DB_USER, DB_PASSWORDには対応する文字列をdefineしておく

この処理によってphpMyAdminページでも文字化けのない状態でデータを扱うことができます.

■関連記事:

Comments are closed.