PHP5.3.3からPHP7.1に移行しようとしているのですが、その際にMySQLの文字化けが治らず困っています。
MySQLのバージョンは5.1.73-logなのですが、最初に照合順序をlatin1_swedish_ciで作ってしまった後、utf8_general_ciに修正したのですが、現行環境のPHP5.3.3からアクセスした時のみ正常に表示されるものの、ターミナルやphpMyAdminから表示したら文字化けします。
下記のようなのコードだとPHP5.3.3環境下での出力結果はこうなりますが
ダミーテキスト
PHP7.1.15だとこうなります
ダミーテã‚スト
PHP
1<? 2define("MYSQL_SERVER", "ip.add.re.ss"); 3define("MYSQL_DATABASE", "database"); 4define("MYSQL_USER", "user"); 5define("MYSQL_PASS", "pass"); 6 7// データベースに接続する 8try{ 9 $pdo = new PDO("mysql:dbname=".MYSQL_DATABASE.";host=".MYSQL_SERVER , MYSQL_USER, MYSQL_PASS); 10} 11catch(PDOException $e){ 12 die("<h3>データベース接続エラー</h3>"); 13} 14 15$sql = "SELECT `subject` FROM `page` WHERE `id`=1"; 16$st = $pdo->prepare($sql); 17$st->execute(); 18$row = $st->fetch(); 19 20echo $row['subject']; //このカラムの中身は「ダミーテキスト」 21?>
pdo接続でPHP7.1.15などの環境下でも文字化けしないようにするにはどうすればいいでしょうか?
回答3件
あなたの回答
tips
プレビュー