PR

MacとWindowsの文字化けあれこれ

 Mac OSとWindowsでデータをやり取りしていると、しばしば文字化けに遭遇する。よくあるのは機種依存文字による文字化けだ(図A)。これはシフトJISで保存したテキストファイルをMacとWindowsでやり取りしたときに起こる。両者で一部記号の文字コード割り当てが異なるのが原因だ。OS内部がユニコードでもシフトJISのテキストファイルには関係ない。

 MacからWebメールで添付したファイルの名前がWindows側で化けた例が図Bだ。「ピクチャ」が「ヒ・クチャ」になった。これはMac OSX で濁音や半濁音を1文字として表すNormalization Form D(NFD)というユニコードのバリエーションを採用しているのが原因だ。NFDでは「ピ」を「ヒ」(UTF-16で30D2)と「゜」(309A)の組み合わせで表す。これに対して、Windows XPで使われているNormalization Form C(NFC)では「ピ」(30D4)と1文字で表す。図Bの現象はXP側のフォントに「゜」(309A)の文字がないことが原因で、Vistaでは問題ない。

 図Cは、Macで圧縮したZIPファイルをWindowsの圧縮フォルダ機能で開いたら文字化けした例。原因をマイクロソフトに聞くと、圧縮フォルダはユニコードに非対応とのこと。ユニコードで収納されたファイル名は文字化けしてしまう。

 図DはMac版のiTunesで、Windowsで使っていた昔のデータを取り込んで文字化けした例。これは音楽ファイルのデータ形式の問題で、iTunesが備えるID3タグの変換機能で解決できるという。

 アップルは「Mac OS Xでは完全にユニコードに移行し、アプリケーションで実装のミスがない限り、文字化けはあり得ない」(櫻場 浩プロダクトマーケティング OS/ソフトウェアプロダクトマネージャー)というが、既存システムとの互換性問題が完全に解消するにはもう少し時間がかかりそうだ。