First, the problem occurs through the installation of samba and netatalk for PC and Mac through the Linux share of problems.
But Apple machine sensing Chinese files to Linux, Linux and windows cannot see Chinese; PC storage file name in the share path in the text, see the Apple machines, but not copying, error returns: file not found. List examples are described below: PC (Linux) file name: copying files from Mac Apple machine (MacOS) Abc Abc Abc Abc: 0B: 0B thin (HEX0x0B0x0B) thin (HEX0x0B0x0B) see the filename, but could not find file second, analysis of the above table shows that when the file name of the character in the United States standard ASC code (the code value is less than or equal to 0x7F) can be displayed properly. When-aligns the characters in the file name is not in the United States standard ASC code (code value greater than 0x7F is less than 0xFF) cannot be displayed properly. Netatalk have their own solution? I see its profile/etc/atalk/AppleVolumes.default was lucky, I see it has a codepage parameters, form codepage = filename file is in the nls path I think this can be solved, I immediately made up the experiment. First codepage = 936 second codepage = cp936 Note: cp936 is GB2312-1980 code page nls is nls (NationalLanguageSopport) subsystem it is based on the ASC's provides internationalization localization of a mechanism. As long as the right of the character map can correctly handle local language encoding. Results? all failed. Conclusion: Netatalk otherwise an nls mechanisms to address localization issues. III. solution 1. target PC [Linux] filenames operations (copying files from Apple) Mac [MAXOS] filenames thin (HEX0x0B0x0B), thin (HEX0x0B0x0B) 2. find the path to find the path to the nls/usr/lib/atalk/nls there are three file maccode.437, maccode.850, maccode.iso8550-1 using the codepage to try that. Chinese on Mac look worse than the original also, of course, the mapping of wrong! 3. find on the Internet, nor does it support Chinese maccode 4. only own one. 5. binary viewer to view the maccode.437 respectively, maccode.850, iso8550-1 identify the rule. Because is very simple, it is not necessary to elaborate. Interested friends can go and see. 6. I start with GB2312 encoding for the experiment. Everyone is familiar with, it is the scope of the code, and then simple 0xA1----0xFE, is to let the Chinese encoding of ASC code remains unchanged after the transfer. 7. the experiment was successful. 8. extended. I refer to the Asian text set of coding (double-byte encoding or multibyte encoding). Considered that the mapping was extended to 0x80----0xFE should support all Asian text. Standard for encoding wide minimum maximum GB2312-1989 first byte: 0xA1----0xF70xA10xE second byte: 0xA1----0xE GBK first byte: 0x81----0xFE0x400xE second byte: 0x40----0x7E 0x80-----0xE BIG-5 first byte: 0x81-0xFE0x400xE second byte: 0x40-0x7E 0x81----0xE Shift-JIS first byte: 0x81-0x9 0xE0-0xFC0x400xC second byte: 0x40 – 0xfc (little 0x7) KSC-5601-1987 the first byte: 0x81-0xFE0x410xE second byte: 0x41-0x5A, 0x61-0x7A, 0x81-0xE because when ASC codes less than 0x7F is translated correctly, so we can not go to it, just consider the ASC codes greater than 0x80 or more. Get map range is 0x80----0xE. IV. how to use maccode.Asia 1. Locate the nls path, for example, my machine is/usr/lib/atalk/nls 2. will continue maccode.Asia copy 3. Locate the appletalk configuration file AppleVolumes.default and modify it. For example: my machine is/etc/atalk/AppleVolumes.default for example:/mnt/appletalk is your share to the Mac path you write/mnt/appletalk now add a little/mnt/appletalkcodepage = maccode.Asia filed away.
No comments:
Post a Comment