PHP5.3.xの「x」はなんでしょうか?ここが重要です.「charset=utf8」でDSNから指定できるのはPHP5.3.6以降です.以下の方法を検討してください. http://qiita.com/ngyuki/items/d88a4df860abb51eb714 ですが,「SET NAMES utf8」でも サーバ側: utf8 クライアント側: latin1 の場合はSQLインジェクションは発生しませんので大丈夫です.アウトな場合は以下のいずれか.非常に稀なケースだとは思いますが. ・PDO::ATTR_EMULATE_PREPARESを無効化せず,かつ「SET NAMES cp932」または「SET NAMES sjis」している ・PDO::ATTR_EMULATE_PREPARESを無効化せず,かつlibmysqlclientのコンパイルオプションでデフォルト文字セットをc