この記事は最後に更新してから1年以上経過しています。
説明
ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。基本的なアプローチは、UTF-8の4バイト文字が保存できないのだから、それを何かに置き換えてあげればいいというもの。問題は何に置き換えるのが適切なのかということで、いろいろ試した結果、対象の文字を「数値文字参照」に置き換えるのがよいという結果に至った。そんなわけで作ったプラグインが、この「Emojin」となる。
インストールおよび使用方法
- 1. Emojinのアーカイブファイルを解凍し、フォルダごと /wp-content/plugins/ の中に入れてください。
- 最新のEmojinのアーカイブファイルは、「wordpress.org(43KB)
(wordpress.orgは申請中)」からダウンロードしてください。 - 2. 管理ページのプラグインページで「Emojin」を有効にしてください。
- 管理者権限のアカウントでログインし、サイドナビの「プラグイン」をクリック。一覧の中から「Emojin」の「有効化」をクリックしてください。
- 3. iPadから絵文字を入力して、保存してみた。
「Emojin」を有効にする前は「絵文字」以降がなくなった状態で保存されていたが、「Emojin」を有効にした後は「絵文字」を含めてその後の文章もきちんと保存できるようになっている。
よくある質問
- Q. mbstringは必要ですか。
- A. 本プラグインではmbstringを使用しておらず、必要ではありません。
更新履歴
- 2014.08.23 Emojin 0.1.0をリリースしました。
最終更新 : 2015年03月21日 15:31
お勧め
wp_add_post_tags(2012年7月5日 更新)
mixed wp_add_post_tags( [ int $post_id = 0 [ , string $tags = '' ] ] )
投稿情報に投稿タグを追加する。
get_tags(2018年5月27日 更新)
array get_tags( [ mixed $args = '' ] )
条件を指定してタグ情報を検索し、マッチしたすべてのタグ情報を取得する。
wp_array_slice_assoc(2022年2月2日 更新)
array wp_array_slice_assoc( array $array, array $keys )
キーを指定して配列の一部を抽出する。
get_post_permalink(2022年11月6日 更新)
string | false get_post_permalink( [ int | WP_Post $id$post = 0 [ , bool $leavename = false [ , bool $sample = false ] ] ] )
カスタム投稿タイプの投稿ページのパーマリンクを取得する。
remove_query_arg(2024年3月21日 更新)
string remove_query_arg( string | string[] $key [ , bool | string $query = false ] )
クエリーURIからパラメータ(キー名=値)を削除する。