[Allegro] Allegro-Datenbank in Unicode

Thomas Fischer fischer at mail.sub.uni-goettingen.de
Fr Nov 2 11:18:46 CET 2007


Liebe KollegInnen,

ich arbeite mit verschiedenen Datenbanken, die ich intern als UTF-8 kodiert
habe.
Dafür fehlt es insgesamt noch an klaren Beschreibungen, wie man eine
Allegro-Datenbank mit interner UTF-8-Kodierung aufbauen und betreiben kann.
Ich möchte außerdem den OSTWEST-Font meiden, zur internen Darstellung aber
eventuell (falls möglich) den ANSI-Zeichenvorrat ausschöpfen. Letztlich
finde ich, dass Allegro voll UTF-8-fähig werden sollte, bin aber bereit,
kleine Unbilden in Kauf zu nehmen, bis es soweit ist.

Die in der Dokumentation enthaltenen unicode.rtf lässt einige Punkte offen
(das von mir gemeinte Verfahren 2 wird da auch nur recht kurz besprochen),
Vb165 ist auch knapp. Übrigens sollte der Bezug auf DEMOU.EXE in unicode.rtf
in DEMOU.LZH geändert werden, dann findet man das auch.

Beispiele von Unklarheiten sind:
– der effektive Umgang mit dem Nichtsortierzeichen (ich versuche derzeit `),
	(in demou wird
	p ª 1     Nichtsortierzeichen ausblenden
	verwendet, kann das gehen???)
– der feine Unterschied zwischen
#10 y2  	und
!10 
– wie kann ich "Über" zu der Artikelliste hinzufügen
– die Umkodierung von Sonderzeichen iu.apt macht aus Ü in UTF-8 "UE", aus Ü
in ANSI "Ue"

Außerdem stürzt A99 öfters ab.


Mir ist bewusst, dass es da ungelöste Probleme gibt:
- das Auswahlfeld kann UTF-8 nicht darstellen
- die Registeranzeige kann Unicode nicht darstellen
- vollständige Bearbeitung der Datensätze in UTF-8 ist nur mit externem
Editor möglich.

Trotzdem kann man mit so einer Datenbank jetzt schon vernünftig arbeiten.
Ich muss allerdings die in o.apt enthaltene Umkodierung deaktivieren (z.B.
durch eine leere o.apt), sonst können bei der Bearbeitung unangenehme
Umkodierungen passieren. Mit leerer o.apt kann man einzelne Einträge
innerhalb des Basis-ASCII-Bestandes normal bearbeiten. Fügt man allerdings
irgendwelche Sonderzeichen (ANSI > 127) ein, so ist der Fehler in der
Anzeige nicht zu erkennen – die Sonderzeichen werden korrekt dargestellt.
Allerdings ist die Zeichenkodierung dann nicht mehr konsistent, was
vermutlich spätestens bei einem XML-Export zu Problemen führt.
(Nebenbei: die Bedeutung der einzelnen Zeile
o .250 183   Punkt in der Mitte 
in der o.apt von demou ist mir unklar. Spätestens bei XML-Export muss das
Probleme bereiten.)

Ich wüsste auch gerne, ob man dem Programm vorschreiben kann, bei der
Bearbeitung eine *bestimmte* o.apt zu verwenden (dies scheint weder die in
den Anzeige- noch in den Indexparametern vorgegebene zu sein).
Mit leerer o.apt werden die Sonderzeichen in den Hilfetextes allerdings
nicht mehr korrekt dargestellt.
Bei demou sieht man das z.B., wenn man F1 in der Indexanzeige aufruft. Die
A99-Hilfeseiten sollten auf die Dauer  in ANSI angelegt und nicht mit o.apt
umkodiert werden, dann wäre dieses Problem gelöst.

Für die Register kann man eine geeignete Umkodierung wählen. Hilfreich wäre
eine durchsichtige (nicht transparente=unsichtbare!) Darstellung der
verschiedenen Umkodierungen, möglichst mit der Möglichkeit, alle verborgenen
Automatismen abzuschalten (z.B. dass o.apt aufgerufen wird, obwohl es
nirgends gefordert wird, oder Umkodierung wenn ein ä auftritt...).
Etwas unheimlich ist mir die implizite Umkodierung durch iu.apt...

Wünschen würde ich mir zusätzlich eine Methode, die Daten im Auswahlfeld
lesbar(er) zu machen. Wenn es nicht möglich ist, das Feld dazu zu bringen,
UTF-8 darzustellen, wäre es zumindest schön, es irgendwie umkodieren zu
können, z.B. mit den P/Q-Befehlen. Hilfreich wäre dann die Möglichkeit, eine
Zeichensatz-Kodierung (codepage) pro Datensatz vorgeben zu können, was bei
der Anzeige ausgewertet werden könnte.

(Außerdem: Hin und wieder kommt mir meine Eingabekodierung abhanden, so dass
die Eingabe wie von einer amerikanischen Tastatur interpretier wird, z.B.
kommt statt üöä [;'. In allen anderen Programmen funktioniert die Eingabe
normal. Weiß jemand, was da passiert?)

Mit freundlichen Grüßen
Thomas Fischer 




Mehr Informationen über die Mailingliste Allegro