Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

NFS mounts and special UTF-8 characters (umlauts)

Hi forum members,

I've got a problem when mounting filesystems from a Linux based
NFS server on a Snow Leopard client.

Let the path "/loc" be mounted from the server using NFS V3 and
consider the following Terminal lines:

$ echo test >/loc/tmp/ä.txt
$ cat /loc/tmp/ä.txt
test
$ open /Applications/TextEdit.app /loc/tmp/ä.txt
The file /loc/tmp/ä.txt does not exist.
$ echo $LANG
de_DE.UTF-8

It is quite interesting that you can create "ä.txt" in the shell
although every application you start using "open" cannot
access the file. Nor can all these applications access any
file on the server containing UFT-8 umlauts (äöüÄÖÜ).

To me it seems that all programs using libc library functions
can access files with names containing umlauts on an NFS
server but programs using some "higher" framework pass
through some translation layer, that substitutes an umlaut
with the base character followed by unicode's "combining
diaeresis" (UTF-8: CC88).

Since we are working in a multi platform environment where
Windows-, Linux-, and Mac- computers have to cooperate,
this behaviour is highly undesirable.

Thus my question: How can I turn off that translation?

Mac OS X (10.6.5)

Posted on Dec 11, 2010 8:42 AM

Reply
Question marked as Best reply

Posted on Dec 11, 2010 9:46 AM

The file system used by OS X only accepts decomposed accented characters (e.g. base character plus combining umlaut) in its (Unicode UTF-16) file names. The precomposed version (single umlauted character) is not legal. I don't myself know how to do what you want, but you might ask in the Unix forum too:

http://discussions.apple.com/forum.jspa?forumID=735
6 replies
Question marked as Best reply

Dec 11, 2010 9:46 AM in response to xmemnon

The file system used by OS X only accepts decomposed accented characters (e.g. base character plus combining umlaut) in its (Unicode UTF-16) file names. The precomposed version (single umlauted character) is not legal. I don't myself know how to do what you want, but you might ask in the Unix forum too:

http://discussions.apple.com/forum.jspa?forumID=735

Dec 11, 2010 11:34 AM in response to etresoft

It's unlikely a new bash will solve that problem. Have a look
at the following small C-program:

#include <unistd.h>

int main() {
if ( execlp( "/usr/bin/open", "open", "/Applications/TextEdit.app",
"/loc/tmp/ä.txt", (const char *) 0 ) < 0 ) return 1;
return 0;
}

It produces the same output as the bash command:
open /Applications/TextEdit.app ä.txt
and there is no bash involved.

Anyway, thanks for your reply.

NFS mounts and special UTF-8 characters (umlauts)

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.