• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Zeichensatz-Problem

Tobi1051

Uelzener Rambour
Registriert
29.12.05
Beiträge
371
Hallo,

ich versuche mit rsync 2 Verzeichnisse abzugleichen. Das eine liegt auf meinem Mac und das andere auf meinem Linux Rechner. Ansich dürfte das auch kein Problem und funktioniert auch so lange in den Dateinamen keine Sonderzeichen vorhanden sind. Problem ist, dass der Linux-Rechner mit UTF-8 arbeitet und mein Mac offensichtlich mit Latin1. Die Frage ist jetzt, wie bringe ich meinen Mac dazu mit UTF-8 zu arbeiten? Weiß jemand Rat?

Gruß
Tobi
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Hallo Tobi,

könnte sein, dass dein Problem die gleiche Ursache hat, wie meins, weswegen ich auch gerade hier einen Hilferuf starten wollte.
Bei mir geht's darum, dass ich in Shell-Scripten (habe alles probiert- SH, CSH, TCSH und BASH) immer folgendes Problem habe:
Ich erstelle mit ls eine Liste von allen Files in einem Directory und arbeite das dann per foreach Stück für Stück ab. Klappt auch prima - nur eben nicht mit Filenamen, die äöüß... enthalten.

Zuerst habe ich alle denkbaren Einstellugen für LANG durchprobiert:
en_US.UTF-8
de_DE
de_DE.ISO8859-1
de_DE.ISO8859-15
de_DE.UTF-8
aber das bringt nicht den gewünschten Erfolg.

Beim Googeln und der Suche in anderen Foren habe ich dann ein paar Hinweise darauf gefunden, dass das Problem wohl daher rührt, dass die Dateinamen auf dem Mac durch das HFS+ in einer sog. 'decomposed' Form ins Directory geschrieben werden. D.h. die Nicht-Standard-Zeichen werden durch zwei andere ersetzt.

Nur da hakt's jetzt leider auch bei mir ... hilfe ich blix net: Wie kann ich ls und andere Shellbefehle (wie wahrscheinlich auch rsync) dazu bringen, das wieder zu den 'richtigen' äs ös und üs zurückzu-'composen'? Bin für jeden Hinweis dankbar ...

Grüße Daisy
 

Tobi1051

Uelzener Rambour
Registriert
29.12.05
Beiträge
371
Hallo ,

ich habe gerade mal eine rsync-Synchronisation mit einem Linux-Rechner probiert, der Latin1 verwendet. Das hat aber auch nicht funktioniert. So könnte deine Beschreibung auch bei mir die Ursache haben. Was ich noch nicht probiert habe, meinen Mac auf UTF-8 umzustellen. Wie hast du das gemacht?

Gruß
Tobi
 

Tobi1051

Uelzener Rambour
Registriert
29.12.05
Beiträge
371
Hallo Daisy,

ich habe gerade herausgefunden, wie ich mein System auf UTF-8 umstelle. Und für dich habe ich eventuell auch eine Lösung. Probiere mal den Befehl ls plus den Schalter w und eventuell noch anderen Schaltern. Standardmäßig zeigt unter MacOSX der ls-Befehl keine Sonderzeichen an. Mit dem Schalter w kannst du das aber veranlassen. Ich hoffe, das hilft dir. Aber für mich bin ich immer noch nicht weiter.

Gruß
Tobi
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Terminal, Window Settings, Display: UTF-8 wählen. Schon probiert?

Der Vollständigkeit halber meine aktuelle ~/.bashrc und ~/.bash_profile:

~/.bashrc
Code:
# Invoked for bash as non-login- and non-interactive shell like by typing 
# 'bash' for a new sub-shell or for shell scripts.

# My ~/.bash_profile sources this ~/.bashrc file. So interactive login-shells
# know about these alias definitions too.

# Show umlaut characters correctly and use color for file types.
alias ls='ls -vwG'

# Converts Mac linebreaks to Unix
alias m2u="tr '\015' '\012'"

# Converts Unix linebreaks to Mac
alias u2m="tr '\012' '\015'"

~/.bash_profile
Code:
# Invoked for bash as a normal interactive login shell 
# like invocation by new Terminal.app session.

# Environment variables (like search PATH) are 
# passed to sub-shells from here.

LC_ALL=en_US.UTF-8
export LC_ALL

LANG=en_US.UTF-8
export LANG

# Source .bashrc.
. .bashrc

# letting Fink adding to path
test -r /sw/bin/init.sh && . /sw/bin/init.sh

# set my path
PATH=/usr/local/bin:/usr/local/sbin:/Developer/Tools:/usr/libexec:/usr/local/mysql/bin:$PATH
PATH=/usr/bin:$PATH
PATH=/usr/local/php5/bin:$PATH
PATH=.:~:$PATH
export PATH

MANPATH=/usr/local/php5/man:$MANPATH
MANPATH=/usr/share/man:/usr/bin/man:/usr/local/man:/usr/local/share/man:$MANPATH
MANPATH=/usr/X11R6/man:/usr/man:$MANPATH
export MANPATH
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Tobi1051 schrieb:
Hallo Daisy,

ich habe gerade herausgefunden, wie ich mein System auf UTF-8 umstelle. Und für dich habe ich eventuell auch eine Lösung.

Hallo Tobi,

vielen Dank für den Tip. Mittlerweile konnte ich das 'ls' glücklicherweise ganz aus meinem Script eliminieren und habe das Problem nicht mehr :) Aber ich werd's mir mal für zukünftige Fälle speichern ...

Grüße

Daisy