Beispiele: Statt Sokrates (oder Sokratis) steht in dem Text ÓùêñÜôçò.
Statt Charis steht da: ×Üñéò, und statt Kalimera ÊáëçìÝñá.
Kann mir jemand sagen, was das für eine Zeichensatzkodierung ist? Ich
hatte versucht, es mit
iconv -c -f ISO-8859-7 -t ISO-8859-1 <Datei>
nach latin-1 zu konvertieren, aber das schlägt fehl, die Sonderzeichen
werden nicht erkannt. Inzwischen habe ich begonnen, mir mit tr eine
Übersetzungstabelle zu bauen, aber das ist doch ziemlich aufwendig,
insofern wäre mir eine automatische Konvertierung schon lieber.
Noch eine Anmerkung: ich spreche zwar kein Griechisch, aber dass eine
buchstabengetreue Konvertierung nicht möglich ist, weil z.B. aus dem
griechischen X ein Ch wird und das ai oft als e geschrieben wird, ist
schon klar. Aber das, was da oben steht, hat ja mit den lateinischen
"Ersatzbuchstaben" überhaupt nichts zu tun. Insofern denke ich, dass
mit der Zeichensatzkodierung etwas Grundsätzliches nicht stimmt. Die
Texte sind in Neugriechisch geschrieben.
[fup2 de.comp.standards]
Vielen Dank für Eure Hilfe,
Martin
ISO 8859-7.
> Ich hatte versucht, es mit
>
> iconv -c -f ISO-8859-7 -t ISO-8859-1 <Datei>
>
> nach latin-1 zu konvertieren, aber das schlδgt fehl, die Sonderzeichen
> werden nicht erkannt.
Logisch. Wenn iconv auf ein kleines Alpha mit Akzent trifft, weiί es
nicht, wo in ISO 8859-1 es das unterbringen soll.
Vielleicht solltest du statt dessen recode ausprobieren.
Philipp
--
For contacting me via e-mail, please remove ".invalid" from my From:
address.
> Kann mir jemand sagen, was das für eine Zeichensatzkodierung ist? Ich
> hatte versucht, es mit
>
> iconv -c -f ISO-8859-7 -t ISO-8859-1 <Datei>
Das ist ISO-8859-7. Du kannst es lesen, wenn du es in eine Datei
abspeicherst und die mit einem Browser ansiehst, den du explizit auf
ISO-8859-7 einstellst. Lateinische Schriftzeichen werden da freilich nicht
draus.
> nach latin-1 zu konvertieren, aber das schlägt fehl, die Sonderzeichen
> werden nicht erkannt. Inzwischen habe ich begonnen, mir mit tr eine
> Übersetzungstabelle zu bauen, aber das ist doch ziemlich aufwendig,
> insofern wäre mir eine automatische Konvertierung schon lieber.
Ich habe mir mal solche Tabellen gebaut, allerdings für einen anderen
Zweck, nämlich um Texte im sog. Beta-Code (eine lateinische
Transliteration ohne Rücksicht auf Lesbarkeit) entweder in lateinischer
oder griechischer Schrift anschauen zu können. Deine Richtung ist
umgekehrt, nämlich von ISO-8859-7 weg statt hin, aber vielleicht helfen
dir die Tabellen totzdem was:
http://www.lrz-muenchen.de/~hr/tmp/parallel-utf8 .
--
Helmut Richter
> Logisch. Wenn iconv auf ein kleines Alpha mit Akzent trifft, weiß es
> nicht, wo in ISO 8859-1 es das unterbringen soll.
Hm, Du meinst, das kleine alpha steht in ISO-8859-7 an Position 225
(dezimal), doch in ISO-8859-1 steht dort eben das á, insofern kann
da gar kein a bei rauskommen? Das hieße, ich müsste mir doch so eine
Transkriptionstabelle bauen?
> Vielleicht solltest du statt dessen recode ausprobieren.
Hatte ich schon versucht, aber
recode -v -f iso-8859-7 <Datei>
bringt auch kein anderes Ergebnis als iconv.
> Ich habe mir mal solche Tabellen gebaut, allerdings für einen anderen
> Zweck, nämlich um Texte im sog. Beta-Code (eine lateinische
> Transliteration ohne Rücksicht auf Lesbarkeit) entweder in lateinischer
> oder griechischer Schrift anschauen zu können. Deine Richtung ist
> umgekehrt, nämlich von ISO-8859-7 weg statt hin, aber vielleicht helfen
> dir die Tabellen totzdem was:
> http://www.lrz-muenchen.de/~hr/tmp/parallel-utf8 .
Ja, vielen Dank, das sieht sehr gut aus. Ich schaue mal, ob ich mir
daraus etwas basteln kann.
> Hm, Du meinst, das kleine alpha steht in ISO-8859-7 an Position 225
> (dezimal), doch in ISO-8859-1 steht dort eben das á, insofern kann
> da gar kein a bei rauskommen?
In ISO 8859-1 kommt nirgendwo ein kleines Alpha vor, also kann
iconv(1) die Kodierung nicht anpassen. Ein kleines My dagegen kommt
in beiden vor, 0xEC in 8859-7, 0xB5 in 8859-1, und kann entsprechend
umgesetzt werden. Was du willst, ist aber Transkription, das ist
etwas völlig anderes.
> Das hieße, ich müsste mir doch so eine Transkriptionstabelle bauen?
Ja.
lynx(1) transkribiert mehr oder minder geschickt auf den eingestellten
Ausgabezeichensatz. Bei el.wikipedia.org sieht das dann so aus:
Bikipai'deia, y eleu%thery egkuklopai'deia se o'le*s ti*s glw%sse*s
pou µporei' opoiosdy%pote na epecergastei'.
--
Christian "naddy" Weisgerber na...@mips.inka.de
> Beispiele: Statt Sokrates (oder Sokratis) steht in dem Text ÓùêñÜôçò.
> Statt Charis steht da: ×Üñéò, und statt Kalimera ÊáëçìÝñá.
> Kann mir jemand sagen, was das für eine Zeichensatzkodierung ist? Ich
> hatte versucht, es mit
>
> iconv -c -f ISO-8859-7 -t ISO-8859-1 <Datei>
>
> nach latin-1 zu konvertieren, aber das schlägt fehl, die Sonderzeichen
> werden nicht erkannt.
In Latin-1 sind die auch nicht enthalten.
iconv -c -f ISO-8859-7 -t utf-8
ergibt:
> lynx(1) transkribiert mehr oder minder geschickt auf den eingestellten
> Ausgabezeichensatz.
Danke. Ich habe mir aber inzwischen selbst eine Tabelle gebaut. Mit dem
Perl-Quelltext von Helmut kam ich leider nicht klar, da ich so gut wie
kein Perl kann.
In meiner schnell zusammengehackten Tabelle sind sicher noch massig
Fehler, fќr den angestrebten Zweck (Rippen griechischer CDs nach mp3)
reicht es aber. Hier das script, falls es jemanden interessiert oder
gebrauchen kann:
#!/bin/sh
cat $1 | \
/usr/bin/tr ЖИЙКМОПРСТУФХЦЧЩЪЫЬЭЮЯабгдежйклмнопрстуфхцчщъыьэюя№ёђѓєѕіљњћќ§ў AEIIOYOiAVGDEZIIKLMNXOPRSTYFOIYaeiiyavgdeziiklmnxoprsstyfoiyoyo | \
/bin/sed 's/ї/ch/g' | \
/bin/sed 's/з/Ch/g' | \
/bin/sed 's/ш/th/g' | \
/bin/sed 's/Ш/Th/g' | \
/bin/sed 's/ј/ps/g' | \
/bin/sed 's/и/Ps/g' | \
/bin/sed 's/ai/e/g' | \
/bin/sed 's/Ai/E/g' | \
/bin/sed 's/[eo]i/i/g' | \
/bin/sed 's/[EO]i/I/g' | \
/bin/sed 's/\([Oo]\)y/\1u/g' | \
/bin/sed 's/\([AaEe]\)y\([aAeEiIoOuUbBdDgGzZlLmMnNrR]\)/\1v\2/g' | \
/bin/sed 's/\([AaEe]\)y\([a-zA-Z]\)/\1f\2/g' | \
/bin/sed 's/\([AaEe]\)y\([^a-zA-Z]\)/\1u\2/g' | \
/bin/sed 's/\([Yy]\)u/\1i/g' | \
/bin/sed 's/Gg/Ng/g' | \
/bin/sed 's/gg/ng/g' | \
/bin/sed 's/\([a-zA-Z]\)mp\([aAeEiIoOuUbBdDgGzZlLmMnNrR]\)/\1mb\2/g' | \
/bin/sed 's/\([^a-zA-Z]\)mp\([a-zA-Z]\)/\1b\2/g' | \
/bin/sed 's/\([^a-zA-Z]\)M[pP]\([a-zA-Z]\)/\1B\2/g' | \
/bin/sed 's/\([a-zA-Z]\)mp\([^a-zA-Z]\)/\1b\2/g' | \
/bin/sed 's/\([a-zA-Z]\)M[pP]\([^a-zA-Z]\)/\1B\2/g' | \
/bin/sed 's/\([a-zA-Z]\)nt\([aAeEiIoOuUbBdDgGzZlLmMnNrR]\)/\1nd\2/g' | \
/bin/sed 's/\([^a-zA-Z]\)nt\([a-zA-Z]\)/\1d\2/g' | \
/bin/sed 's/\([^a-zA-Z]\)N[tT]\([a-zA-Z]\)/\1D\2/g' | \
/bin/sed 's/\([a-zA-Z]\)nt\([^a-zA-Z]\)/\1d\2/g' | \
/bin/sed 's/\([a-zA-Z]\)N[tT]\([^a-zA-Z]\)/\1D\2/g'
Die vielen sed-Aufrufe kіnnte man natќrlich noch einsparen und alles
in einen Aufruf packen, aber das war mir zu viel Aufwand fќr die paar
CDs. Auпerdem bin ich mir nicht sicher, ob die Berќcksichtung von mp
und nt immer richtig ist (letzte 10 Zeilen), wie gesagt, ich kann kein
Griechisch. Und viele Sonderfфlle fehlen sicher auch noch. Als Vorlage
fќr das script habe ich
<http://de.wikipedia.org/wiki/Wikipedia:Namenskonventionen/Neugriechisch#Transkriptionstabellen>
benutzt.
Danke an alle fќr die hilfreichen Tips,
Martin
> Die vielen sed-Aufrufe könnte man natürlich noch einsparen und alles
> in einen Aufruf packen, aber das war mir zu viel Aufwand für die paar
> CDs.
Äh, du kannst du das ganze in ein sed-Skript packen.
mfg, simon .... l
> Äh, du kannst du das ganze in ein sed-Skript packen.
Ja, ich weiß, ging irgendwie mit sed -e, oder so, aber die genaue
Syntax wusste ich nicht mehr. Und das Ganze hatte mich schon mehr
Zeit gekostet, als mir eigentlich lieb war, deshalb wollte ich mich
nicht noch lange mit der manpage beschäftigen. Ich muss die CDs ja
auch noch rippen, das soll eigentlich Montag früh fertig sein, naja,
so wird es halt wieder eine etwas längere Nacht...
Jetzt besser?
Andreas
ISO 8859-7, siehe
<http://www.unicodecharacter.com/charsets/iso8859.html#ISO-8859-7>;
die übermittelten Bytes sind gemäß ISO 8859-1 oder ISO 8859-15
interpretiert. Vgl. dazu
<http://www.systems.uni-konstanz.de/Otto/Vortrag/Charset/Unicode-Grundlagen.html#C-Mojibake>.
> Ich hatte versucht, es mit
> iconv -c -f ISO-8859-7 -t ISO-8859-1 <Datei>
> nach latin-1 zu konvertieren, aber das schlägt fehl, die Sonderzeichen
> werden nicht erkannt.
Was soll denn iconv da machen? Im Zielcode ISO-8859-1 gibt's nun mal
keine griechischen Zeichen.
Gruß,
Otto Stolz
> References: <embc84-...@martinkl.dialup.fu-berlin.de>
Mais où sont les neiges d’antan ?
--
In memoriam Alan J. Flavell
http://groups.google.com/groups/search?q=author:Alan.J.Flavell