Backport(バックポート) #2254
Yahoo! ケータイから入力した絵文字が [] という文字列で保存されてしまう
100%
Description
Overview (現象)¶
#2240 のBP以降で発生します。
Yahoo! ケータイから入力した絵文字が [] という文字列で保存されてしまう。
Causes (原因)¶
入力の1バイト目がShiftJISで 0xF7, 0xF9, 0xFB の場合、そのバイトを含む2バイトをSoftbank絵文字と見なし、バイナリ列からOpenPNE形式文字列への変換を行う。
従来、この2バイトをSoftBank旧来の「ISO-2022絵文字 (1B 24 xx yy 0F)」に変換した上でテーブルルックアップしていたが、BP #2240 にてテーブル側(→lib/vendor/OpenPNE2/KtaiEmoji/Softbank.php)がこのバイナリフォーマットを廃し、実体参照で保持するように変更されたので、ルックアップに失敗するようになったのが原因である。
Way to fix (修正内容)¶
lib/vendor/OpenPNE2/KtaiEmoji.php において、ISO-2022絵文字ではなく実体参照をキーとしてテーブルルックアップを行うように修正する。
Related issues
Associated revisions
History
#1
Updated by Naoya Tozuka about 11 years ago
- Status changed from New(新規) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 c9a15682e686d8863d453fa41f63ec7959641e93 で適用されました。
#2
Updated by Naoya Tozuka about 11 years ago
更新履歴 a8f7ea4405392021998dc73ee7f83a99a86efe62 で適用されました。
#3
Updated by Minoru Takai about 11 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- Target version changed from OpenPNE 3.4.14 to OpenPNE 3.4.15
- % Done changed from 50 to 70
stable-3.4.x ブランチ(OpenPNE-3.4.15)に適用されていることを確認しました。取り込みミスといったこともなさそうです。修正内容自体については親チケットでのチェックを以てOKとします。
なお、このチケットでは OpenPNE-3.4.15 への取り込みを前提として進めていますが、もしこのチケットの問題の緊急性(優先度)に変更があれば対応バージョンを変更する必要が生じるかもしれません。
#4
Updated by Mutsumi Imamura about 11 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
SoftBankの実機(SoftBank 840P)を中心に絵文字が投稿出来るかを確認しました。
問題ありません。
Docomo SH-05A、au misora でも投稿できるかを確認し問題ありませんでした。
#5
Updated by Naoya Tozuka about 11 years ago
どうもありがとうございます。
#6
Updated by Shinichi Urabe about 11 years ago
- Target version changed from OpenPNE 3.4.15 to OpenPNE 3.4.14.1
#7
Updated by Minoru Takai almost 11 years ago
このチケットでの対応によって、 3.4.15 に修正が取り込まれ、 3.4.14.1 もリリースしています。 Target version が 3.4.14.1 となっていますが、このチケットで 3.4.15 に修正を取り込んでいることを示しておきます。
#8
Updated by Minoru Takai almost 11 years ago
- Priority changed from Normal(通常) to High(高め)
このチケットの内容に対して優先度が Normal なのは不自然なので High に引き上げます。なお、 3.4.14.1 で緊急リリースを行っていることを鑑みると、安定版 3.4 向けのチケットに対しての優先度は Urgent または Immediate としておくことも妥当かと思います。