操作
Backport(バックポート) #2255
完了Yahoo! ケータイから入力した絵文字が [] という文字列で保存されてしまう
開始日:
2011-06-29
期日:
進捗率:
100%
予定工数:
説明
Overview (現象)¶
#2207 のBP以降で発生します。
Yahoo! ケータイから入力した絵文字が [] という文字列で保存されてしまう。
Causes (原因)¶
入力の1バイト目がShiftJISで 0xF7, 0xF9, 0xFB の場合、そのバイトを含む2バイトをSoftbank絵文字と見なし、バイナリ列からOpenPNE形式文字列への変換を行う。
従来、この2バイトをSoftBank旧来の「ISO-2022絵文字 (1B 24 xx yy 0F)」に変換した上でテーブルルックアップしていたが、BP #2207 にてテーブル側(→lib/vendor/OpenPNE2/KtaiEmoji/Softbank.php)がこのバイナリフォーマットを廃し、実体参照で保持するように変更されたので、ルックアップに失敗するようになったのが原因である。
Way to fix (修正内容)¶
lib/vendor/OpenPNE2/KtaiEmoji.php において、ISO-2022絵文字ではなく実体参照をキーとしてテーブルルックアップを行うように修正する。
操作