[ドットインストール]mampを使ったらデーターベースの文字が文字化けしたので対応した

シェアする

みんな大好きドットインストール。

ドットインストールの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;

ちなみに、文字化けしているものを直すのではないので、データベースから作り直して下さい。

お問い合わせはこちら