みんな大好きドットインストール。
ドットインストールのPHP系のレッスンでPDOやらmysqlやらを使いますが、
mampを使用しているとinsertした文字が化けたので、メモ。
個人的にドットインストールは、復習したい時とか新しい技術を学ぶ時はざっと目を通してます。
ドットインストールは「これはおまじないと思ってください」とか、
説明してない単語がいきなり出てきたり、なかなかハードルが高いレッスンだなと思ったりもするけど、
さ〜と復習したい時とか学びたい時は頼りになります。
ちなみに、この記事はドットインストールのレッスンをきちんとやってる人はおきません。なぜならmampとか使わないからw。
vagrant前提ぽいので、vagrantが難しいとか、面倒だからmampで!という人に起きる現象だと思います。
(xamppも起きるかも。)
この現状が起きる理由。それは「文字コード」のせいです。
そりゃそうでしょ!という声は置いといて、じゃあ、どうすりゃいいの?と。
PDOの時にuff-8を指定する
定数のところだけ書く。
ここではデータベース名はdotinstallにしておく。
最後に「charset=utf8mb4」をつける。
define('DSN', 'mysql:host=localhost;dbname=dotinstall;charset=utf8mb4'); define('DB_USER', 'root'); define('DB_PASSWORD', 'root');
mysqlでデータベースを作る場合はutf-8を指定する。
create database dotinstall default character set utf8 collate utf8_general_ci;
ちなみに、文字化けしているものを直すのではないので、データベースから作り直して下さい。