iPhoneから投稿したときに特殊文字以降が表示されない
WordPressと連携するiPhone・Androidアプリ(Titanium Mobile)を作成しているときに特殊文字(「かお」で変換して出てくる黄色のスマイリーなど)を投稿すると、それ以降の文章が表示されなかったので調べたときの覚書。 環境: CentOS 5.9, nginx 1.2.6, PHP 5.4.11, MySQL 5.5.32, WordPress 3.5 参考にしたのは下記サイト。 MySQL に iOS の絵文字(4bytes UTF-8)が入った文字列を INSERT/UPDATE すると絵文字以降の文字がぶった切られる件 | をぶろぐ 鯖管のメモ帳: mysql に 4バイトutf8 の文字を入れたい 漢(オトコ)のコンピュータ道: MySQLコミュニティ騒然!MySQL 5.5.4が与えるインパクト。 データベースの文字コードをutf8mb4にする必要があるみたい。 一度全てのデータをSQL文でエクスポートして「CHARSET=utf8mb4」で登録し直す。 デフォルトで「utfmb4」になるようにmy.cnfを変更。 # vi /etc/my.cnf [mysqld] # charset character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci [mysql] default-character-set=utf8mb4 確認 # mysql -p -u root mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4