絵文字をデータベースに保存する

WEBサイトのスマホ利用者が多いと、Line感覚で普通に絵文字を入力する人も多くなってきます。
いままで通り文字コードをutf8でやると、絵文字は文字化けしてしまいます。
文字コードをutf8mb4にすると絵文字も使えるようになるようです。

参考:https://testtesttest21.sakura.ne.jp/wp/2018/01/14/%E7%AC%AC1%E5%9・・・・

MySQLのバージョンが5.5以上でないとutf8mb4は使えないそうなので確認します。

データベースのSQLで以下を実行します。
ALTER DATABASE `データベース名` DEFAULT CHARACTER SET utf8mb4;
あるいは「操作」の下の方にある「照合順序」を「utf8mb4_unicode_ci」にしても大丈夫だと思います。

テーブルの各カラムの照合順序も「utf8mb4_unicode_ci」にする。

PHPからデータベースに接続する部分も修正が必要です。
CakePHP3ならconfig/app.phpにあるDatasorcesのencodingをutf8mb4にします。

'Datasources' => [
        'default' => [
      (中略)
                'encoding' => 'utf8mb4',
      (以下略)

カテゴリ:CakePHP 投稿日時:2019年8月22日 12:15


コメント

コメントはまだありません。

コメント投稿

ご自由にコメントください!
※一度投稿すると削除できませんのでご注意ください。管理者の独断と偏見で削除する場合があります。コメント機能は予告なく停止する場合があります。

ニックネーム

コメント

カテゴリ

新着備忘録

「MySQL」ERROR 2013 (HY000) at line : Lost connection to MySQL server during query

MySQLでERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーが出た。

CakePHP3 CSSやjavascriptを更新したのに反映されない!

CakePHP3でCSSやjavascriptにタイムスタンプをつける方法です。

CakePHP3のタイムゾーン設定

CakePHP3のタイムゾーン設定方法です。

Thunderbirdで同じメールが何度も届く件

Thunderbirdで同じメールが何度も届く件についてです。

CakePHP3でCSV出力

CakePHP3でCSV出力する方法です。