AW: AW: [Allegro] Umkodierung

Thomas Berger ThB at Gymel.com
Do Feb 26 15:02:40 CET 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Fischer, lieber Herr Eversberg,

> Ich schicke einen ANSI-kodierten Job an Avanti, wo soll da etwas
> kodiert werden (das passiert i einem einfachen Perlskript, kein PHP
> oder so).

Ich stelle mir das so vor, wie Eingabe im Schreibfeld von a99:

*Alles was kommt* wird automatisch erst einmal mittels umgekehrter
o-Tabelle nach "DOS" gewandelt.

[Oder irre ich mich hier, denkbar waere auch, dass alles so
bleibt wie es ist, nur das, was in irgendeinem Sinn fuer
den *Kategorienspeicher* relevant ist, wird im Moment der
Beschickung gewandelt? Ueber die Jahre habe ich ja oefters
versucht, Codierungsauffaelligkeiten nachzugehen, weil es
aber in der Dokumentation nicht einmal Andeutungen gibt, was
da passiert, kam ich immer zu inkohaerenten Resultaten...]


> Bei "put" werden bei die Daten aus dem Skript in die Datenbank
> geschrieben, dort kommt auf jeden Fall ASCII (DOS) an.

Bei "put" werden Daten nicht aus dem Skript, sondern aus dem
Kategorienspeicher weggeschrieben. Ich halte aber vor allem
fest, dass auch Sie irgendeine Form der Umcodierung erwarten.


> Aus meinen Skript
> 
> #19 mäßig, müßig,
> #20 „Test“ noch ein ‚Test‘
> 
> kommt dort jetzt (in dere Anzeige von Classico)
> 
> #19 mäßig, müßig,
> #20 äTestô noch ein éTestæ
>   
> heraus.
> 
>> Sowohl CP1252 als auch ISO 8859-1 werden "Latin 1" genannt, 
>> avanti kennt keinen davon.
> 
> Wenn das geschieht, so ist das falsch. Wie der Name schon sagt, ist
> ISO 8859-1 ein internationaler Standard, der vom W3C als mögliche
> Kodierung von HTML akzeptiert wird. Der Windows-Zeichensatz CP1252
> weicht an den Stellen 128 - 159 von diesem Zeichensatz ab, dort liegen
> u.a. die Zeichen, die mir Probleme bereiten.

moeglicherweise nur u.a. Es gibt Leute, die "ISO Latin" und "Windows
Latin" sagen, wer aber "Latin 1" sagt, legt sich nicht fest. Allegro
unterstellt z.B. normalerweise "ANSI" und unterstellt damit, dass die
Daten allegro-Windows-codiert sind: Nur dann kommt ostwest heraus.


>> und das ist genau der Effekt, den die Standard-o-Tabelle, 
>> also Umwandlung von DOS-Ostwest auf allegro-Windows hat.
> 
> Also wird doch eine Konvertierungstabelle benutzt! Aber welche? Und wann?

Naja, es findet eine Konvertierung statt, das haben Sie doch
selbst bemerkt. Und zwar (jetzt egal, welche meiner beiden
Theorien zutrifft) deutlich vor dem Speichern, naemlich beim
Einlesen des Jobs/Aufbau des Datensatzes im Kategorienspeicher.
Hierfuer wird unabwendbar die umgekehrte o-Tabelle genommen
bzw. (-> switch coding) gar nichts.


> Das alles ist ja längst passiert (vor etwa 10 Jahren): Extern (auf
> der Ebene der Perl-Skripte) wird Latin-1 (ISO/IEC 8859-1) benutzt, intern
> ASCII (CP437) (leider...), wie erwähnt kein OSTWEST. Jetzt kommt mir
> die Windows-Erweiterung CP1252 dazwischen und ich will wissen, in welcher
> Tabelle ich die Abbildung dieser zusätzlichen Zeichen einstellen kann.

in der o-Tabelle. Sie werden aber nicht viel Glueck haben, weil diese
zusaetzlichen Zeichen zwischen 0x80 und 0x9F in CP437 wohl eher nicht
anzutreffen sind: Ein halbwegs vollstaendiges Mapping gibt es halt
zwischen CP1252 und CP850, so sind die halt definiert.

viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSaahAGITJZieluOzAQIfGwP8D68wTvE3xzJXkdAWY8hg6wQVgFKj3xaQ
w8Jhp16a2mcEcaYiywdCSzjcPg8j083m9hjxR9LexkewOdbEnA40OVWWH7OPQcgT
Z+4O6sAUPMxsP8KzFREwE/zJcqla8UeoxdGhQKSEpxcJrTSMrb7g7BkCMeuuk18m
fYLG+Te96Lc=
=QdkP
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro