1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Zeichensatz-Problem

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von Tobi1051, 15.01.06.

  1. Tobi1051

    Tobi1051 Uelzener Rambour

    Dabei seit:
    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
     
  2. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    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
     
  3. Tobi1051

    Tobi1051 Uelzener Rambour

    Dabei seit:
    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
     
  4. Tobi1051

    Tobi1051 Uelzener Rambour

    Dabei seit:
    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
     
  5. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    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
    
     
  6. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    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
     

Diese Seite empfehlen