[Allegro] Externes Editieren von Datensätzen, Ergänzung

Bernhard Eversberg b-eversberg at gmx.de
Do Nov 19 08:42:20 CET 2020


> Gesendet: Mittwoch, 18. November 2020 um 15:49 Uhr
> Von: "Bernhard Eversberg" <b-eversberg at gmx.de>
....
> 1.
> Sehr hilfreich ist der  utf8edit.flx
> Wenn man ihn noch nicht auf einen Button gelegt oder sonstwie leicht zugänglich hat, kann man 
> zum Ausprobieren mal sofort eingeben: 
>   X utf8edit

Vergessen zu erwähnen wurde dabei:
Notepad ist dann auf UTF-8 eingestellt. Der Flex utf8edit.flx besorgt nämlich blitzgeschwind die
Hin- und Rück-Kodierung der Sonderzeichen zwischen dem internen OstWest-ASCII und Unicode UTF-8.
Und zwar geht das so (im utf8edit.flx - einfach mal reinkucken):

Zuerst wird der Satz in eine UTF-8-codierte Textdatei namens e.adt ausgebeben:

  Param. für Umcodierung laden (Diese Parameter wandeln OstWest-Code in UTF-8)
export p e-unicod

  Exportdatei oeffnen
var M "e.adt"
open x 
   Steuerzeichen fuer Notepad reinschreiben, damit es UTF-8 anzeigt:
wri 239 187 191 n

  Und nun den Satz ausgeben, Datei schließen
export
close x

Sodann wird Notepad auf die ausgegebene Datei gehetzt:

  Notepad aufrufen (*)
var "notepad " M "e.adt"
call 

Dann wartet der FLEX, bis man das notepad beendet; danach:
...
 Satz wieder einlesen, falls veraendert
  dabei die UTF-Codes wandeln, undefinierte so belassen
set U2
var M "e.adt"
read rec
set U0
disp

So hat man den geänderten Satz dann vor sich.
Für den Anwender ist die Umcodiererei "transparent", wie der Programmierer sagt. Damit
meint er nicht "durchsichtig", sondern "unsichtbar" oder "unbemerkbar".

Aber aufgepaßt:
Man fällt auf die Nase, wenn man im Notpad Unicode-Zeichen eingibt, die im OstWest-Code nicht
enthalten sind, z.B. kyrillische. Die werden in a99 dann in kryptische verwandelt, also unbrauchbar.

Anders ist es, wenn man in der eigenen Datenbank mit UTF-8 statt ASCII arbeitet. Dann ist alles korrekt.
Nur in a99 sieht man sowieso links im Auswahlfeld keine korrekten Zeichen, nur Sauerkraut. Im Anzeigefeld
ist alles korrekt, aber das ist ein Feld mit anderen Eigenschaften als das Auswahlfeld.
Noch anders ist alles, wenn man konsequent browserbasiert mit a35 arbeitet. Dann verfügt man sowieso
über die volle Dröhnung von UTF-8. Das machen bisher nur sehr wenige, denn es erfordert schon eine
Menge Durchblick.


B.E.




Mehr Informationen über die Mailingliste Allegro