全角のハイフンの文字化けするWebサイト

某転職サイトで住所を入力すると全角のハイフンが「?」に化けた。
たとえば、
江戸紫町3-25-1
と入力すると
江戸紫町3?25?1


懐かしい文字化けである。これは、Shift-JISのような文字コードをUnicodeに変換するときに発生する古典的な問題の1つである。

なぜ、こんなことが起きるかというと、「-」という文字はUnicodeでは、マイナス記号だったり、ハイフンだったりするからだ。
表にすると、こんな風になる
文字CP932Shift_JIS
FF0D (FULLWIDTH HYPHEN-MINUS)2212 (MINUS SIGN)

フォームのHTMLのエンコーディングを確認してみると Shift_JIS になっていた。XHTMLで記述されていた。XHTMLを前提にしているのなら UTF-8とか UTF-16にしておけば、文字コード変換の問題も発生しないのに…

直すほどではない、小さなことなのだろうか?それともDBとの関係?

この記事へのコメント

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