Thinkphp 環境では、Mysql は絵文字を保存します
Thinkphp のデフォルトの utf8 は絵文字をサポートしていません。絵文字は Unicode エンコーディングであり、各絵文字は 4 バイトを占有するためです。データ テーブルと列のエンコーディングを utf8mb4 に変更するだけです。
Thinkphp のデフォルトの utf8 は絵文字をサポートしていません。これは、絵文字が Unicode エンコーディングであり、各絵文字が次のように 4 バイトを占有するためです。
1. mysql バージョンが 5.3.3 以降であることを確認します (utf8mb4 をサポート)
2. テーブルの文字セットを utf8mb4 に変更し、ソート順は utf8mb4_general_ci になります
3. フィールドの文字セットを utf8mb4 に変更し、ソート順は utf8mb4_general_ci になります
utf8mb4 は utf8 の拡張機能であり、下位互換性があるので、必ずバックアップしてください。
一部の絵文字は依然として疑問符として表示されます。以下を参照してください:
データ接続構成
'データベース エンコーディング' を次のように変更します: 'DB_CHARSET'=> 'utf8mb4',
フィールドの文字セットも uf8mb4 に変更する必要があります
そうすることで初めて、正常に保管できるようになります。 ! ! !