PHPにPOSTリクエストすると、絵文字が????になってしまいました。。
今回はその解決法をメモしましたので、シェアします。
解決法
MySQLの文字コードを全てutf8からutf8mb4に変更する。
(データベース・テーブル・カラム名・PDOの設定も含めて)
データベースの変更
ALTER DATABASE データベース名 DEFAULT CHARACTER SET utf8mb4;
テーブルの変更
ALTER TABLE テーブル名 DEFAULT CHARACTER SET utf8mb4;
カラム名の変更
ALTER TABLE テーブル名 MODIFY カラム名 データ型 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
PDO接続の変更
$dsn = 'mysql:host=localhost;dbname=データベース名;charset=utf8mb4';
charsetの部分をutf8mb4に変更する。
コメント