ゲムキTOP > ブログTOP > ゲムキ開発ブログ
←ブログの記事投稿をタイムラインに追加 | 日記で文字装飾タグを増やしてほしい の対応方法→

スマホの絵文字を使えるようにする

ハルポップ 2019-07-15 15:11:49
スマホの絵文字に対応してやるにはデータベースの文字コードの変更をする必要がある。
今までは「utf8_general_ci」という文字コードがセットされていた。
これは3バイト文字であり、スマホの絵文字には対応していない。
スマホの絵文字は4バイト文字の「utf8mb4_unicode_ci」にすると表示されるようになる。

phpmyadminを開き、単純に文字コードを変更しようとすると以下のような警告が出るので注意。

---
This operation will attempt to convert your data to the new collation. In rare cases, especially where a character doesn't exist in the new collation, this process could cause the data to appear incorrectly under the new collation; in this case we suggest you revert to the original collation and refer to the tips at Garbled Data.

Are you sure you wish to change the collation and convert the data?
---
↑なんか分からんから、実行せずにキャンセルする。ちなみに実行するとバイナリデータになっちゃう。


手順としては、まずテーブルの照合順序(文字コード)をutf8mb4_unicode_ciに変更。
次にカラムの照合順序を空白にして変更する。
すると空白にしたのに何故かutf8mb4_unicode_ciとして変更されている。

これで絵文字の保存は出来るようになるが、表示が「???」となって正常にされないので、PHP側で「SET NAMES utf8mb4」というSQL文を最初に発行するようにする。
これで完了。