文字化けした文字を調査

文字化けの原因を調査した。(ほぼ一日かかった。。。)

特定の文字っぽかったので、文字のバイトコードを確認した。

UTF-8で「能」という文字の一文字前。

if( $string = q/(.)\x{80FD}/ ) {
    print unpack("H*", $1);
}



調べたら、「c28a」が取りだせた。
その情報から下記の文字という事が分かった。
http://www.fileformat.info/info/unicode/char/8a/index.htm

でも、普通に入力できる。
実体参照にすると(Š)空白になって文字化けする。

以下環境
Perl v5.8.8
PostgreSQL 8.1.23
文字コードUTF-8

今回の文字をCSVでダウンロードしようとすると(CP938)「?」になってしまう。

UTF-8で文字をデコードして、CP932に変換した時に「?」になってしまうので、
その前に取り除くか、他の文字に置換してあげると良さそう。


ただ一つ、なんでそんな文字を入力したのかが気になる。すごく気になる。


参考にしたページ
http://it-scrap.blogspot.jp/2009/12/perl.html
http://www.fileformat.info/info/unicode/char/search.htm
http://www.seiai.ed.jp/sys/text/java/utf8table.html
http://ash.jp/code/unitbl21.htm