必ずしも大は小をかねるわけではないと言うか何と言うか

  • 投稿日:
  • by
  • カテゴリ:

MT4i では、長らく以下のような不具合を抱えていました。

MT4i/懸案事項 - t2o2-Wikiより

PocketIEにてEntry編集送信時に「半角スペース」が「?」に文字化けする。
現象確認:PocketPC2003(iPAQ h2210)、MicrosoftWindows for Handheld PC 2000(SigmarionII)、京ぽん Opera

この度、この不具合が解決したというか、自分の間抜けさ加減に気づいたというか、ろくに検証していなかったことが明らかになってしまったので恥を忍んでご紹介。

この現象、もともとは iPAQ のユーザさんから報告があり、SigmarionII にて検証したところ現象が再現し、さらに京ぽんのユーザさんから再現性があることをご報告頂いておりました。

原因も何となく見当は付いていたんですね。MT4i では Entry 編集時に半角スペースを   に変換して表示、登録時に戻すという処理をしているので、おそらくこれが原因であろうこと、この処理を外せば解決するであろうことはすぐに思いついたわけです。

しかし、わざわざこんな処理を入れた背景には、何か理由があったはずです。その理由がすぐに思い出せなかったんですね。理由が分からないので安易に外すわけにはいかないし、調べるのはちょっと手間だなーと感じて後回しにしていました。その当時は、もっと他にも問題が山積みでしたし。

で、今日まで引っ張ってしまったと。

そんな中で、すろー・ふぉわーどの YANCHA! さんが以下のエントリを書いてくださいました。

やはり原因は   の変換周りだった模様。対象は W-ZERO3 ですけど WindowsCE なのは同じですし、この対策は有効なはず。しかしこれを適用するには、どうしてこの処理を入れたのか、原因を知る必要があります。思い立ったら吉日ということで、この自分のブログを検索してみました。こういう時、記録を残しておくと便利ですよね。

で、あっさり発見。

MT4i v2.0β1仮公開 (talk to oneself 2)より引用
* 携帯電話からEntryを編集する際、タイトルに半角スペースが含まれているとそれ以降が表示されない。
(中略)
二つ目についても、半角スペースを「 」に置換してから表示。

これで処理を入れた経緯は明らかになったのですが、問題はその後ですね。

MT4i v2.0β1仮公開 (talk to oneself 2)より引用
不思議なのは、半角スペースがダメなのはinputタグだけってこと。textareaでは問題ありません。謎です、i-mode。

「textareaでは問題ありません。」と書いてあります。にも関わらず、MT4i のコードを見ると、しっかり textarea の文字列にも処理を入れていました…。

当時は「念の為」と思って入れたんでしょうが、まったく持って見当違いだったようです。ということで、Version 2.2 では input タグ周りにだけ処理を残して、textarea の方からは処理を除きました。自分の W-ZERO3[es] + Opera、i-mode HTML シミュレータ等でテストしたところ、半角スペースを含んでいても特に問題は見つかりませんでした。

というわけで、何でもかんでも突っ込めば良いわけじゃないよという、良い教訓になりました。YANCHA! さん、ありがとうございました。