2010年2月22日月曜日

Notebooks、Windowsで同期: 残念な文字化けの原因

NotebooksとWindowsでSyncDocsやローカルに構築したWebDAVで同期した場合、ファイル名が文字化けしてしまうことがあります。
例えば、Notebooksで「ばぱびぴぶぷべぺぼぽ」という名前をつけて同期するとWindows上でこのように表示されます。
自分のNotebooksで起きた例では「バックアップ」が「ハ・ックアップ 」と残念な感じ…
主に濁点(ばびぶべぼ)や半濁点(ぱぴぷぺぽ)で文字化けする現象で、これはiPhoneが純然たるMacであるからこその問題です。Macユーザーのみなさまは当然のことと考えるか、もしくは自分の環境では起きないかもしれません。しかしWindowsユーザーが日本語でiPhoneとファイルのやりとり行うときには、けっこうショックな出来事でしょう。

Macであるからこその問題と書きましたが、詳しくはMacの文字エンコードがUTF-8-Macという、通常のUTF-8と少し違うエンコードを使っていることが問題になります。そこら辺は「UTF-8-Mac」で検索をかけてもらうといくらでも情報が出てきます。
つまりは「バ」は「ハ+何か」と分解された上で文字化けするのです。
そして、NotebooksとWindowsを同期させるにあたって文字化けの根本的な解決法はありません。



ファイル名の化けたテキストは同期させる時にも問題になります。

Notebooks>>PC(文字化け発生)>>Notebooks

と同期させると、本来は上書きされないといけないところが「文字化けしたファイル」と「文字化けする前のファイル」がNotebooksに出来上がります。
なので、残念ながらファイル名に日本語を極力使わないようにするしかないのが現状です。
言い換えれば、ファイル名を英語にすれば何も問題ないんですけどね(と、前向きになってみる)

2 件のコメント:

ぢゅん さんのコメント...

文字コードって厄介ですよネ、プラットフォームの違いもありますが、ネットワークの普及や多様なメディアを解して相互にファイルを交換出来るようになって、便利になったのですが、その弊害として一定の年数ごとにトラブルを経験しています(^_^;)
ファイル名として使用出来ない文字も違いがありますし、Web経由の場合、encodeしてやり取りが行われますが、ブラウザなどのクライアントソフトによっても扱いが微妙に違うケースもあります。
UNIXやLinuxでは大文字小文字を別物扱いする環境もあり、悩ましいです(^_^;)

hassy5 さんのコメント...

なるほど。
文字エンコードの問題は深いなと感じたんですが、そこまで問題が多岐に渡ると原因特定だけでも大変ですよね。
特にiPhoneが実はUnixの系譜をひいてると知らないで使ってる人が多いので、アプリケーション作者は苦労しそうです。
(更にはiPhoneのファイル転送方法が限られてるし)

SyncDocsに関しても文字エンコードの変換を自前で実装してくれると非常にありがたいんですけどね。
あとでフォーラムに書き込んでみるとします。