先日苦しめられたのでメモ書き。 UTF-8には2種類半角スペースが存在し、普通の半角スペースと文字コード「C2A0」で表される空白がある。 UTF-8で書かれたモノをShift-JISやEUCに変換した際に不可解な"?"が入っていたら「C2A0」が入ってる恐れがある。 例えば、取得したRSSのXMLファイルに混入しているなど。 コイツの何が厄介かって、変換前の文字列を見てもただの半角スペースに見えるところだ。 一度変換してみて?が混入してたらこのコードを足してみよう。(PHP専用) $content = str_replace( "\xc2\xa0", " ", $content ); 書いてある通り「C2A0」を削除するコード。これで?は出なくなりました。