[DRUMSOFT 旧BBS][全部]

OS X Tips

こうするとこうなって便利だ!というやつを。
39 hrk 2010-02-01 21:18 permalink
UTF-8-MAC で困るの巻

ユニコードでは、ひらがな カタカナ の濁点と半濁点を、元の文字とは別の1文字として表す事もできる(正規分解)し、文字と(半)濁点を含めた1文字として表す事もできる(正規結合)。

これらは、どちらも正しく文字として扱われるべきだが、Windowsは正規分解はサポートされず、文字化けした様な表示となる。Mac OS 上では問題なく扱う事ができる。(ファイルシステム上では正規分解となる)
http://macwiki.sourceforge.jp/wiki/index.php/UTF-8-MAC

このため、「Mac上で作成したUTF-8の文書が、Windowsでの表示時に濁点・半濁点の箇所だけ文字化けする」という現象が起きる事がある。

お持ちのエディタでUTF-8の文書を作ると、おそらく濁点は正規結合でエンコードされる。しかし、「プレビュー」等でPDF文書を開き、PDF内の日本語をコピーすると、クリップボードには正規分解でエンコードされた文字列が保存される。これをエディタにペーストすると、正規分解と正規結合が混ざった文書となってしまう事もある。

この文書をWindowsでも問題なく読める様にする為には、正規分解でエンコードされた箇所を正規結合へと変換する必要がある。これは例えば、エディタで一度別のエンコード(Shift-JIS等)へ変換して保存し、開きなおしてさらにUTF-8で保存する事で行う事ができる。

また、複数の文書から正規分解されている箇所を検索するには、terminalで
grep -r $'\xe3\x82[\x98\x99]' *
を実行すれば、正規分解された濁点・半濁点を検索できる。

一括で変換する様な方法は、次回に回します。
[DRUMSOFT 旧BBS][全部]