(167) Webページ上で絵文字🔍が文字化けするのは?

投稿者: | 2025年5月12日

570 views

問題発生

DBでは照合順序に utf8mb4_unicode_520_ci(かなり多くの絵文字に対応している文字コード)を設定している。

もちろん、テーブルとカラムにも utf8mb4_unicode_520_ci を設定している。

しかし、Webページで表示すると ??? と表示されてしまう・・・

チェック

Check 1 : HTTP応答時の文字コードは?

サーバー側の PHPプログラムで以下のように HTTPレスポンスを返す個所を変更してみた。
Before:

  header('Content-Type: application/json');

After:

  header('Content-Type: application/json; charset=UTF-8;');

ダメだ・・・変わらない。

Check 2 : DB接続時の文字コード指定は?

PDOクラスを使ってDB接続時に、文字コードの指定を変更してみた。
Before:

  $dbH = new PDO('mysql:dbname=XXXXX;host=YYYYY;charset=utf8');

After:

  $dbH = new PDO('mysql:dbname=XXXXX;host=YYYYY;charset=utf8mb4');

これだった!
🔍 ← 絵文字が正しく表示されるようになった!


アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済
  • 2026-01-04: 0回
  • 2026-01-03: 1回
  • 2026-01-02: 2回
  • 2026-01-01: 0回
  • 2025-12-31: 0回
  • 2025-12-30: 0回
  • 2025-12-29: 0回
  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です