Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

netatalk2 and samba3 charset problem

6 views
Skip to first unread message

HAT

unread,
Aug 12, 2004, 11:55:56 AM8/12/04
to
HATです。

netatalk2.0-beta2はafp3.1対応でOSXからの利用が便利になり、
samba3との相性も良くなったのですが、
逆にOS9からafp2.2で接続したときには、トレードマーク等のMacJapanese特有の
文字の入ったファイル名が扱えなくなってしまいました。
これを解決する方法をさっき思い付いたので御報告。

(問題点)
netatalk2はafp2.2で接続したときにはlibiconvでファイル名の文字コードを
変換をしているわけですが、Shift_JISで扱っているので、MacJapanese特有の
文字が扱えません。

(1) libiconvにパッチを当てる
http://hosho.ees.hokudai.ac.jp/~kato/unix/mj.html
ここに、libiconv-1.8をMacJapaneseに対応させるパッチがあるのを
発見しました。これをありがたく使わせて頂きます。

(2) netatalkにパッチを当てる
MACJAPANESEという名前を認識するように、libatalk/unicode/iconv.c に
変更を加えます。

{"SHIFT_JIS", 1568, NULL, NULL, CHARSET_ICONV | CHARSET_PRECOMPOSED | CHARSET_CLIENT},

という行があるので、その次に

{"MACJAPANESE", 1568, NULL, NULL, CHARSET_ICONV | CHARSET_PRECOMPOSED | CHARSET_CLIENT},

を加えました。
ここで、1568という数字の意味がわかりません。誰か教えて下さい。
取り敢えず、SHIFT_JISと同じ数字を入れました。

(3) netatalkの設定
afpd.confで、
-unixcodepage UTF8 -maccodepage MACJAPANESE
にします。

netatalk.confでも、
ATALK_MAC_CHARSET='MACJAPANESE'
ATALK_UNIX_CHARSET='UTF-8'
にします。

以上で、トレードマーク等のMacJapaneseの文字が使えます。
マルイチ、マルニとかの文字もsamba3と相性良く使えます。

(残る問題)
samba3側から以下の文字を含むファイル名を作った場合、OS9から
見ると化けます。これはWindowsのutf-8の実装が変だからですね。

―~∥-¢£¬

うーん。
MACJAPANESE-MSという、怪しい文字コードを作らなければならないのか。

--
HAT

0 new messages