Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a problem that I don't even know where to begin looking for help (google isn't helping)

I have an external hard drive formatted as Mac OS Extended (Journaled). I had been using it with my Macbook OS X for a long time. There are many files on this hard drive that are titled with Korean characters.

Recently I got a new computer and installed Xubuntu 11.04 on it, along with Korean language support. Using the GUI I can mount the external hard drive and see only those files that aren't titled in Korean. The ones titled in Korean don't even show up. Now if I go into the hard drive via the command line, and ls the drive, I do get a listing of the Korean files with their Korean names, but only after an error message for each one of those files that goes like "ls: cannot access : No such file or directory".

Now back on my Mac, if I rename the korean file to an english name, the file can be seen no problem by my linux machine. Also, if I then rename the file to a korean name on my LINUX machine (remember, my linux machine also has korean support), then the linux machine has no problem recognizing or reading it, but now the MAC will not be able to recognize the file. That is, if I go in with my Mac now and try to open the file via the gui, the file (really actually a directory) is empty. If I try to cd into the file via the command line it says that it gives me a "no such file or directory" error. But doing an ls gives no errors.

In short, it seems that if I try to name a file with a foreign-language on my mac, my linux won't recognize it, and if I try to do it with my linux, my mac won't recognize it. The only way for the two computers to both be able to use the external hard drive seems to be if all the files are named in English. I want to avoid renaming my hundreds of Korean files to English names. Is there anyone who knows what might be going on here, or point me to a direction which might help me tackle this?

Thank you! Bryan

share|improve this question

1 Answer 1

Encoding of filenames?

Does perl see the Korean filenames?

perl -e 'opendir(D, ".");while($f=readdir(D)){print "--$f--\n";}'

If it does show the filenames (or some unrecognisably mangled version of them), you may be able to work out if it is an encoding issue. Korean encodings include KS X 1001, EUC-KR and ISO-2022-KR. However I believe both OSX and Linux normally use UTF-8.

See this answer which says

OS X's HFS+ filesystem requires that all filenames be stored in the UTF-8 representation of their fully decomposed form.

There are tools for converting filename encodings but you need to persuade both operating systems to use a common encoding.

See this question describing Linux filename encodings.

I have run convmv -f UTF-8 -t UTF-8 on the directory, and discovered these 500 filenames are not encoded in UTF-8 (convmv is able to detect and ignore filenames already in UTF-8)

Is there an easy way I can find out which language encoding they are currently using?

share|improve this answer
    
perl does see the Korean file names, but I think this is not an encoding issue (both were using UTF-8). This I think has to do with an incompatibility between HFS+ harddrives and korean filenames between mac and linux. The only other reference I could find on this is here: ubuntuforums.org/showthread.php?t=1422374 And there was no solution. I hope someone can come up with one soon... –  bhh1988 Oct 5 '11 at 5:14
    
@bhh1988: That link makes it clear what is happening. Both Linux and OSX may be violating Postel's Law –  RedGrittyBrick Oct 5 '11 at 8:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.