2008年08月28日

Jcode.pmの自動判別で困ったこと

 今日、ChildTreeに機能を追加していて気付いたこと。
 ChildTree改造版では、文字コードの変換にJcode.pm(実質Encode.pmへのWrapper)を使用しており、投稿フォームから送られてきた内容について文字コードを自動判別してUTF8に変換しています。

 今日の追加機能を試すため、題名に「黒板.in」と入れたところ文字化けが……。
 全部全角で入れると化けないため、どうやらJcodeが判別する際にサンプルが少なすぎて誤判定を起こしている模様。

 どうしようもないっちゃないんですが、対策としてはいくつか。
 ・Jcode::getcode()でタイトルより長いであろう本文の文字コードを取得し、それをタイトルにも適用
 ・送信元のフォームにhidden属性で文字コード(utf8)を仕込み、その情報をもとに変換
 ・もうあきらめて変換を行わない
 ・レアケースとして切り捨てる

 どれも一長一短です。

(これを機会にEncodeモジュールに全て置き換えるという手も←根本的な解決になっていない)
posted by 鯖缶 at 18:56 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/105635804

この記事へのトラックバック