本件問題解決いたしました
ありがとうございました
=======================
XAMPPでphpによるオブジェクト型のデータベース入出力ファイルを作りました
phpMyAdiminで入力しておいたデータベース情報を
読み込んで表示するだけの簡単なファイルです
一応動作確認ができたのですが
日本語を入れると文字化けしてしまいます
コード側ではUTF-8を指定したのですが
データベース内部(phpMyAdmin画面)や
Cromeでの表示は????と文字化けしました
コードにはあまり問題ないように思うのですが
以下の通りです
どなたかご教授いただけましたら幸甚です。
<?php class connect { //定数の宣言 //データベースに接続する関数 function pdo(){ /*phpのバージョンが5.3.6よりも古い場合はcharset=".self::UTFが必要無くなり、array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES '.SELF::UTF')が必要になり、5.3.6以上の場合は必要ないがcharset=".self::UTFは必要になる。*/ $dsn="mysql:dbname=".self::DB_NAME.";host=".self::HOST.";charset=".self::UTF; $user=self::USER; $pass=self::PASS; try{ $pdo=new PDO($dsn,$user,$pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES '.SELF::UTF)); }catch(Exception $e){ echo 'error' .$e->getMesseage; die(); } //エラーを表示してくれる。 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); return $pdo; } //SELECT文のときに使用する関数。 function select($sql){ $hoge=$this->pdo(); $stmt=$hoge->query($sql); $items=$stmt->fetchAll(PDO::FETCH_ASSOC); return $items; } //SELECT,INSERT,UPDATE,DELETE文の時に使用する関数。 function plural($sql,$item){ $hoge=$this->pdo(); $stmt=$hoge->prepare($sql); $stmt->execute(array(':id'=>$item));//sql文のVALUES等の値が?の場合は$itemでもいい。 return $stmt; } } ?>これはファイル処理関数群のクラスのみなので、これを働かせるコードが分かりませんね。初期データがきちんと UTF-8 でテーブルに収まっているのか、フィールドの形式をマルチバイト文字列に指定しているのか、示してもらえませんか。
回答1件
あなたの回答
tips
プレビュー