Emojin:プラグイン作ってみました

Emojin:プラグイン作ってみました - iOSの絵文字を含んだ投稿をきっちり保存

説明

ちょっと前の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をリリースしました。

お勧めコンテンツ

wp_die(2011年9月20日 登録)

void wp_die( string $message [ , string $title = '' [ , mixed $args = array() ] ] )
エラーメッセージ(ページ)を表示する。

get_category(2011年5月25日 登録)

mixed get_category( mixed $category [ , string $output = OBJECT [ , string $filter = 'raw' ] ] )
IDを指定してカテゴリー情報を取得する。

wp_title(2009年12月3日 登録)

string wp_title( [ string $sep = '»' [ , bool $display = true [ , string $seplocaution = '' ] ] ] )
各種アーカイブページや投稿ページなど、要求されているページに応じたページタイトルを作成し、パラメータ$displayがtrueならば表示する。$displayがfalseの場合は、文字列として返す。

wp_get_attachment_link(2011年1月4日 登録)

string wp_get_attachment_link( [ int $id = 0 [ , mixed $size = 'thumbnail' [ , bool $permalink = false [ , bool $icon = false [ , mixed $text = false ] ] ] ] ] )
添付ファイルへのリンクを示すHTMLテキストを取得する。

wp_get_nav_menu_object(2010年6月8日 登録)

mixed wp_get_nav_menu_object( string $menu )
ナビゲーションメニューデータを取得する。

最終更新日時 : 2015-03-21 15:31