Mailinglist Archive: opensuse-de (1185 mails)

< Previous Next >
Re: Iconv - locale - Verst ändnisproblem
  • From: Christian Brabandt <cblists@xxxxxxxxxx>
  • Date: Fri, 17 Sep 2010 12:34:54 +0200
  • Message-id: <20100917103454.GA12171@xxxxxxxxxx>
Hi Al!

On Fr, 17 Sep 2010, Al Bogner wrote:

Am Do, 16 Sep 2010 22:59:07 CEST schrieb Christian Brabandt:

Hallo Christian,

On Do, 16 Sep 2010, Al Bogner wrote:

On Do, 16 Sep 2010, Al Bogner wrote:
100%ig ist es leider nicht, aber für mich ausreichend.

zB wird ß nicht in SS gewandelt.

Ah richtig. Mal als Bug eintüten? Rückwandeln wird aber nicht mehr
funktionieren.

Hoffentlich vergesse ich das nicht, ich werde das mal einige Zeit
testen, was da vielleicht noch Probleme macht. Zeitweise kommen bei mir
noch einige Sprachen vor, wie norwegisch, türkisch, russisch, etc.

Kennst du andersrum auch eine Lösung mit der Bash bzw. sed, also

zB ÄFFCHEN nach aeffchen?

#v+
~$ printf "ÄFFCHEN\n" | iconv -t ascii//translit | sed -e 's/.*/\L&/'
affchen
#v-

Oder, da fällt mir noch was unportables mit bash 4 ein:
chrisbra@host:/tmp$ foo="ÄFFCHEN"
chrisbra@host:/tmp$ bar=$(printf "$foo\n" | iconv -t ascii//translit)

Ich verstehe nicht, warum hier \n notwendig ist.

Weil sonst kein nachfolgender Zeilenumbruch ausgegeben wird. echo geht
auch, ist aber nicht portabel nutzbar.

&& printf "$bar\n" AEFFCHEN
chrisbra@host:/tmp$ bar=${bar,,} && printf "$bar\n"
aeffchen

Wow, heute gibt es für ein paar Dinge, die ich seit Jahren zu
verbessern suche, eine Revolution.


TITLE=`printf "„Χρώματα“" | sed -e "s/_/ /g;s/'/ /g;s/\+/ /g;s/.*/\U&/"`

printf "$TITLE\n"
„ΧΡΏΜΑΤΑ“

TITLE2=$(printf "$TITLE\n" | iconv -t ascii//translit)

printf "$TITLE2\n"
,,???????"

Mache ich da was falsch, oder klappt das nicht?

Nö, das klappt hier auch nicht. Möglicherweise ist für diese Buchstaben
nicht definiert, wie sie zu transkribieren sind. Aber da kommen wir
jetzt zu Details, mit denen ich mich nicht auskenne. Ich habe hier meist
nur mit deutschen Umlauten zu tun. Du könntest evtl. mal die Entwickler
fragen.

In einem Script ist mir das nicht so wichtig. Schaffst du mit der zsh
mein griech. Beispiel?

iconv ist ja unabhängig von der Shell, insofern, nein.


Es soll also nur US-ASCII übrig bleiben und Sonderzeichen wie ä
nach ae transkribiert werden, eventuell auch nach nur nach affchen.

Wie ich gerade festelle, hängt auch das von der locale ab, wonach
transkribiert wird. In einer englischen locale wird nämlich aus ä
auch a während in einer deutschen locale ä zu ae wird.

Super, mache ich bei meinen Ersetzungen genau so, ein griech. Χ sollte
zu ch werden.

Ich würde einen Bug reporten. Dann weißt du wenigstens, ob du was falsch
machst, oder ober das tatsächlich ein bug ist oder vielleicht auch ein
Feature Request.

Neue Scripts sind am Anfang immer sehr kurz und werden erst nach Jahren
komplexer und dann ist es für Perl schon wieder zu spät ;-) Die Zeit
sich weiter zu entwickeln ist eben beschränkt und letztlich zählt wie
lange man braucht um ein Ergebnis zu erreichen.

eben.

regards,
Christian
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups