UTF-8の0xC2A0問題 【ブログ掲載のソースをコピペして、動作しないときに疑うべきこと】

  • 投稿 : 2013-05-30
  • 更新 : 2013-06-05
ブログとかでサンプルをコピペして動作させようとして、なぜか動作しない場合があります。
その原因の一つに、コピペしたものがもともと間違っているという場合です。

厳密にいうと、記事を書いた人は間違っていない場合が多く、掲載後に文字が勝手(?)に変換されたりして、違うものになってしまうということです。

・Wordpressの自動変換機能が働いた
  参考:WordPressで勝手に文字が変換されるのを防ぐ方法 【クォーテーションが全角に】
・その他の要因

などがあります。

本記事では、半角スペース見えるのに、実は半角スペースでないケースについて書いています。

UTF-8の0xC2A0問題


  は半角スペースではないというお話 (フェンリル | デベロッパーズブログ)
UTF-8の半角スペースについて - とりあえず落ち着け
文字コードC2A0(UTF-8の半角空白)なんてあるんですね at softelメモ

ブログの引越しで記事データインポートした時になどに、半角スペースから、文字コードC2A0にすりかわるケースはあるようです(^^;
あと、HTMLエンコードして「  」に置き換えて記事に張り付けてしまうと、表示するときに、文字コードC2A0になるようです。

どうやって判断すればよいの?


サクラエディタや秀丸エディタにコピペして、「Shift-JIS」でファイル保存してみると、もし文字コードの「0xC2A0」などが含まれていたら、上記のような警告が出てくると思います。

サクラエディタなら、「文字コード変換により一部の文字情報が失われます」
秀丸エディタなら、「文字コード変換できない文字が含まれています。」
と出てくるかと思います。

秀丸の場合は、該当文字を「?」に置き換えて保存できるので、目で見て明確にどこが怪しいのか判明すると思います。

全角のスペースが混ざってる場合

今回の件とは関係ないですが、全角スペースが混ざってることもあります。

これも、サクラエディタや秀丸エディタにコピペすれば、全角スペースは「□」みたいな感じで表示されると思うので発見しやすいかと思います。

記事中にそういうのがないか探す方法

Wordpressなら
Search Regex
http://wordpress.org/extend/plugins/search-regex/
を使用すると、結構簡単に探し出せるかも

参考:WordPressは記事のメンテに優れていると思う 【プラグイン3つ】

スポンサーリンク