MW211 EXIT

devlog
HTML/特殊半角空白のコピペ
2013年10月28日
「 」は文字コード「0xC2A0」の半角空白で、
「 」は文字コード「0xE28082」の半角空白でそれぞれ表示される。

よって、これをコピペしても、一般的な半角空白「0x20」とは違うことになる。

コピペで指定されたものをPHP的に変換するには、以下のような方法がある。
┌──────────────────────────────────────┐
│$■ = preg_replace('/\xC2\xA0/'    , ' ', $■);  //  を半角空白にする  │
│$■ = preg_replace('/\xE2\x80\x82/', ' ', $■);  //  を半角空白にする  │
└──────────────────────────────────────┘

でも、なかなかこの「0xC2A0」と「0xE28082」にはお目にかかれないような気がする。

たいていは「0x20」に変換されて表示されているようだ。

例えばSmartyで以下のように変換して表示したとしても…
┌──────────────────────────────────────┐
│{■|replace:' ':' '}                                                   │
└──────────────────────────────────────┘
「あ1- 1」だと「0xE28082」( )となるが、
「あ 1-1」だと「0x20」(半角空白)となって表示されるようだ。

また、「0xC2A0」( )に至っては、見たことがない。

本来「 」は「0xA0」なのだが、UTF-8的には「0xC2A0」となるものらしい。
ただ、「0xA0」も「0xC2A0」も表示されているのをみたことがないので
真偽がわからない。
分類:HTML