とりあえず落ち着け

サブカル系webエンジニア見習いの備忘録

UTF-8の半角スペースについて

先日苦しめられたのでメモ書き。

UTF-8には2種類半角スペースが存在し、普通の半角スペースと文字コード「C2A0」で表される空白がある。

UTF-8で書かれたモノをShift-JISやEUCに変換した際に不可解な"?"が入っていたら「C2A0」が入ってる恐れがある。

例えば、取得したRSSXMLファイルに混入しているなど。

コイツの何が厄介かって、変換前の文字列を見てもただの半角スペースに見えるところだ。

一度変換してみて?が混入してたらこのコードを足してみよう。(PHP専用)

$content = str_replace( "\xc2\xa0", " ", $content );

 書いてある通り「C2A0」を削除するコード。これで?は出なくなりました。