はじめに
PHPとDBを連携させる練習をしていたのですがタイトルの
SQLSTATE[HY000] [2019] Unknown character set
のエラーが消えずに困っていました。
今回はその解決策を紹介します。
解決策
.を,に変更するです!
原因
phpファイルの一部分を抜粋したものがこちら
<?php
try {
$db = new PDO('mysql:dbname=todo_maneger;host=localhost;charset=utf8'.'root'.'root');
} catch (PDOException $e) {
echo 'DB接続エラーです: ' . $e->getMessage();
}
?>
この中に間違っている部分があるのですが私は気づきませんでした。
charsetの後の区切り方が原因でエラーが出ていることを発見しました。
修正後のファイルがこちら
<?php
try {
$db = new PDO('mysql:dbname=todo_maneger;host=localhost;charset=utf8','root','root');
} catch (PDOException $e) {
echo 'DB接続エラーです: ' . $e->getMessage();
}
?>
これで解決!
最後に
web上の記事ではutf-8をutf8に見たいな記事しかなくて困りましたが解決できてよかったです。
アプリで書籍を見ていると細かいところを間違えていることに気づかないので気をつけます。
困っている方の参考になればうれしいです!