[PHP] UTF-8の半角スペースのバイトコード

PHP に限らない話ですが、若干ハマりかけたので備忘録として。

サーバサイドのプログラムで WYSIWYG や JQuery 等を利用したカレンダーといった JavaScript を使用したインタフェースからの入力値を受けとるケースは多いと思いますが、そういった際(JavaScript が input要素 の value属性 を操作する)に使用しているプラグインやライブラリの文字コードがUTF-8の場合は半角スペースの扱いに少し注意が必要です。

普通にキーボードから半角スペースを入力した場合のバイトコードは 0x20 ですが、JavaScriptなどから挿入された半角スペースのバイトコードは 0xc20xa0 となる場合があります。

僕の場合はこれが原因で MySQL の Timestamp型 のフィールドを更新する時に、日付は更新されるが時間が更新されない(常に00:00:00になってしまう)という罠にハマりそうになりました。

一番単純な方法ですが、PHP であれば次の様に対応できます。

$str = str_replace("\xc2\xa0", ' ', $str);

投稿日付 :

カテゴリー : JavaScript | PHP | System

トラックバックURL

http://mashimonator.weblike.jp/mt/mt-tb.cgi/237

コメント投稿フォーム