未分類 過去記事

[php]pearとmysqlで文字化け対策

MySQLにPEAR::DBを使用して、データ追加を行ったら、文字化けした際のメモ

MySQL:5.5
MySQLの文字セット:utf-8
さくらインターネット使用

以下、簡単なソースです

[php]
require_once 'DB.php';

$dsn = 'mysqli://ユーザ名:パスワード@ホスト名/DB名';

$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}

$db->query('SET NAMES utf8');
if (PEAR::isError($db)) {
die($db->getMessage());
}

$table_name = 'users';
$fields_values = array(
'name' => $name,
'display_name' => $disp
);

$res = $db->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT);

if (PEAR::isError($res)) {
die($res->getMessage());
}

$db->disconnect();
[/php]

普通のサンプルだとinsert文を使って実行しますが、autoExecの方が、挿入カラムとパラメータのマッピングが分かり易くて好きです
たまにカンマひとつズレてて、キィーーーーッ!!となりますしw

で、肝心な肝は
[php]
$db->query('SET NAMES utf8');
[/php]

の部分
恐ろしくあっさりできましたけど、実に悩んだのは"utf8"というところ

最初
[php]
$db->query('SET NAMES utf-8');
[/php]

って、ずっと書いてておかしいなーと思ってたんですが...

おすすめ記事一覧

オススメの除湿機はCV-J71 1

梅雨の時期はジメジメしますよね。そんな季節に最適な除湿機の話です。 目次 早く除湿機を買っていれば良かった! 僕が除湿機を選んだ条件 CV-J71を使ってみて  早く除湿機を買っていれば良かった! こ ...

SERVER=SHARED 2

相変わらず、Oracleの「ORA-17410:ソケットから読み込むデータはこれ以上ありません」エラー関連で、探しに来ていただいている方が多いので、記事をリライトします。 目次 ORA-17410の対 ...

RX100M3 3

今回は、僕shimashimaが使っているカメラの紹介のコンデジ編です。 目次 デジカメはRX100M3 根強い人気のRX100M3 どんなときもこれ1台でOK  デジカメはRX100M3 コンデジ( ...

僕とインターネット 4

今回は、僕とインターネットの関係(?)を説明します。 目次 インターネットとの出会い インターネットにハマる インターネットと共に生きる  インターネットとの出会い 僕がインターネットに出会ったのは、 ...

僕がブログを始めた理由 5

こんにちは、shimashimaです。 今回は、僕がブログを始めた理由です。 目次 shimashima.comを取る。 ホームページを作る。 僕がブログを書いた理由。 これから先の展望とか。  sh ...

-未分類, 過去記事
-, , ,

© 2020 shimashima.com