2012-02-16
フーッ
PDOでラクチンDatabaseと思っていたら、何と文字化け!!!
それで以下のプログラムでテストしました
<?php try { $pdo = new PDO("mysql:host=$db_host; dbname=$db_name","$db_user", "$db_password"); $stmt = $pdo->query("SELECT * FROM dr_tbl"); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ echo implode(", ", $row) ."<br />"; } } catch (PDOException $e){ var_dump($e->getMessage()); } $pdo = null; // ここまでPDOでの処理 echo "***********************************************<br />"; // 以下はnative PHPでの処理 $link = mysql_connect($db_host, $db_user, $db_password); if ($link === NULL) { die("MySQL connection failed"); } mysql_select_db($db_name); $result = mysql_query('set character set utf8'); $sql = "SELECT * FROM `dr_tbl`;"; $result = mysql_query($sql); while($row = mysql_fetch_assoc($result)){ echo implode(", ", $row) ."<br />"; } ?>
そうすると、PDO部分では文字化け出力するのに、native部分では文字化けありません。
これはきっとUTF-8を改めてセットする必要があると考え調べると、ありましたね、やはり悩んだ方がおられましたここに
それで、PDO部分に
stmt = $pdo -> query("SET NAMES utf8;");
を追加したらばいっぺんに解決しました。
コメントを書く
トラックバック - http://d.hatena.ne.jp/Dr_Radialist/20120216/1329348304
リンク元
- 114 http://www.kamakuraheart.org/
- 18 http://yangt3.blog.so-net.ne.jp/
- 13 http://search.minakoe.jp/rsss/rsss.asp?pid=221627&plp=1&pd=2008/09/30&lid=3969&nlp=1&sd=2008/09/30&base=20&blp=1&bd=2008/09/30&multi=1&qry=perl
- 6 http://www.kamakuraheart.org/index.html
- 4 http://cwoweb2.bai.ne.jp/~jgb11101/index2.html
- 4 http://www.bing.com/search?q=東友クラブ&src=IE-SearchBox&FORM=IE8SRC
- 3 http://search.yahoo.co.jp/search?p=東友クラブ+宇都宮&ei=UTF-8&x=wrt&meta=fl=3
- 3 http://www.google.co.jp/url?sa=t&rct=j&q=東友クラブ&source=web&cd=2&ved=0CEUQFjAB&url=http://d.hatena.ne.jp/Dr_Radialist/20110326/1301137180&ei=cMA8T_HSEc_OmAWctonhBw&usg=AFQjCNHpECCMX3l6lOuTDfCoVd3z1L88KQ&si
- 3 http://www.google.co.jp/url?sa=t&rct=j&q=php 大きなファイルのダウンロード&source=web&cd=1&ved=0CCQQFjAA&url=http://d.hatena.ne.jp/Dr_Radialist/20
- 3 http://www.google.com/search
