If I mount a linux volume which contains folders with names containing Swedish characters 'åäö', the parent Finder window freezes as soon as the folder comes into view. In the console I repeatedly see the message:
Finder: -[__NSCFDictionary setObject:forKey:]: attempt to insert nil key
and I need to restart/kill the Finder by Cmd-Alt-esc to continue.
If I rename the folders to remove the Swedish characters the problem goes away.
A similar problem concerns documents with "wrong" names. Double-clicking on it gives a dialog box "The application can't be found". An document without the "wrong" characters in the name opens properly.
I use MacOS 10.7.5, OSXFUSE 2.5.4 and MacFusion Version 2.0.4 (2.0.4)
Which file system are you using? SSHFS, CurlFtpFS?
Which encoding are you using on the remote host? OSXFUSE includes support for converting file names from one encoding to another. This can be done by using module iconv. iconv can be enabled by applying the following mount-time option.
-o modules=iconv,from_code=UTF-8,to_code=UTF-8-MAC
You just need to replace from_code=... with the actual encoding used on the remote host.
Bengt Nilsson
Ansåsvägen 8
438 53 Hindås
[email protected]
0301-22150
27 jan 2013 kl. 18:54 skrev Benjamin Fleischer:
Which file system are you using? SSHFS, CurlFtpFS?
I am using sshfs.
Which encoding are you using on the remote host?Not sure. How can I find out?
I am using Ubuntu Studio 12.04 LTS.
Any Ubuntu command to show it?OSXFUSE includes support for converting file names from one encoding to another. This can be done by using module iconv. iconv can be enabled by applying the following mount-time option.
-o modules=iconv,from_code=UTF-8,to_code=UTF-8-MAC
Without knowning what encoding I use on the remote host, I applied your suggestion literarily to to the MacFuse mount options.
The Finder does not freeze anymore on Swedish named folders, but Swedish named files are missing from the Finder view.
So it did help, but it is not quote perfect yet.
You just need to replace from_code=... with the actual encoding used on the remote host.—
Reply to this email directly or view it on GitHub.
Is this it?
bnilsson@HTPC-Studio:~/Musik/Evert Taube/Taube$ locale
LANG=sv_SE.UTF-8
LANGUAGE=sv:en
LC_CTYPE="sv_SE.UTF-8"
LC_NUMERIC="sv_SE.UTF-8"
LC_TIME="sv_SE.UTF-8"
LC_COLLATE="sv_SE.UTF-8"
LC_MONETARY="sv_SE.UTF-8"
LC_MESSAGES="sv_SE.UTF-8"
LC_PAPER="sv_SE.UTF-8"
LC_NAME="sv_SE.UTF-8"
LC_ADDRESS="sv_SE.UTF-8"
LC_TELEPHONE="sv_SE.UTF-8"
LC_MEASUREMENT="sv_SE.UTF-8"
LC_IDENTIFICATION="sv_SE.UTF-8"
LC_ALL=
Bengt Nilsson
Ansåsvägen 8
438 53 Hindås
[email protected]
0301-22150
27 jan 2013 kl. 18:54 skrev Benjamin Fleischer:
Which file system are you using? SSHFS, CurlFtpFS?
Which encoding are you using on the remote host? OSXFUSE includes support for converting file names from one encoding to another. This can be done by using module iconv. iconv can be enabled by applying the following mount-time option.
-o modules=iconv,from_code=UTF-8,to_code=UTF-8-MAC
You just need to replace from_code=... with the actual encoding used on the remote host.—
Reply to this email directly or view it on GitHub.
Looks about right. I think we can assume that the file names on your server are UTF-8 encoded. What do you get when you run locale on your Mac?
From what I've read iconv should be able to lookup the correct to_coding value by itself. Have you tried the following?
-o modules=iconv,from_code=UTF-8
On my Mac I have:
LANG="sv_SE.UTF-8"
LC_COLLATE="sv_SE.UTF-8"
LC_CTYPE="sv_SE.UTF-8"
LC_MESSAGES="sv_SE.UTF-8"
LC_MONETARY="sv_SE.UTF-8"
LC_NUMERIC="sv_SE.UTF-8"
LC_TIME="sv_SE.UTF-8"
LC_ALL=
so without knowing the details, I am surprised there was a problem in the first place?
Anyway, your last suggestion "-o modules=iconv,from_code=UTF-8" worked.
So this can be marked as SOLVED?
Bengt Nilsson
Ansåsvägen 8
438 53 Hindås
[email protected]
0301-22150
27 jan 2013 kl. 22:29 skrev Benjamin Fleischer:
Looks about right. I think we can assume that the file names on your server are UTF-8 encoded. What do you get when you run locale on your Mac?
From what I've read iconv should be able to lookup the correct to_coding value by itself. Have you tried the following?
-o modules=iconv,from_code=UTF-8
—
Reply to this email directly or view it on GitHub.
I've read that Mac OS X' Cocoa layer uses UTF-16 to encode file names. So it might work when using to_code=UTF-16. Maybe locale is not the correct way to determine the file name encoding on Mac OS X.
But since iconv figures out the correct target encoding by itself, I'm all for closing the ticket.
Most helpful comment
Which file system are you using? SSHFS, CurlFtpFS?
Which encoding are you using on the remote host? OSXFUSE includes support for converting file names from one encoding to another. This can be done by using module iconv. iconv can be enabled by applying the following mount-time option.
You just need to replace
from_code=...with the actual encoding used on the remote host.