[Allegro] Ersetzungen und Umkodierungen

Bernhard Eversberg b-eversberg at gmx.de
Mo Jul 3 15:22:29 CEST 2017


> Gesendet: Montag, 03. Juli 2017 um 15:12 Uhr
> Von: "Fischer, Thomas" <fischer at sub.uni-goettingen.de>
> >> 
> > Die o-Tabelle bewirkt eine 1:1 Umwandlung zwischen internem Code und ANSI (= Windows-Code).
> 
> hm, ja…
> Ich vermute, dass die Standardtabelle (o.apt) sich dabei auf den Allegro-OSTWEST-Zeichensatz bezieht.
> 
Steht jedenfalls drin, Zeile 1.

> Und typischerweise passiert diese Umkodierung bei A99 bei Übergang vom Eingabefeld (das als ANSI interpretiert wird) in den Datensatz (der als DOS interpretiert wird). Das kann bei einer UTF-8-Datenbank eigentlich nur Schaden anrichten, da dann Teile der mehrbytigen Codes ersetzt würden.
> 
Deshalb ist ja die Empfehlung, eine leere o.apt zu verwenden, und die beim Paket demoutf mitgelieferte
outf.apt  ist auch so eingerichtet. (Der Name darf durchaus anders lauten, es kommt ja nur auf den t-Befehl
an, mit dem die Datei geladen wird) .  Einfach mal abholen mit  X gf demoutf.apt

> Was ich aber eigentlich wissen wollte, ist, wie es sich mit Such- und Ersetzungsfenstern verhält.
> 
> Z.B. starte ich eine Volltextsuche mit
> _#10.*“
> unterbreche, um den Suchtext zu ändern, dann wird mir aber
> _#10.*ƒÝŁ
> angezeigt. Ich kann das weitermachen, beim nächsten Mal erscheint dann
> _#10.*ÊŸò
> Das heißt, bei der Suche passiert eine Umkodierung in *einem* Fenster, und das jedes Mal aufs Neue, wenn die Suche gestartet wird.
> 
> Eine ähnliche Umkodierung passiert wohl bei der globalen Ersetzung, das konnte ich aber noch nicht genau nachvollziehen.
> 
> Ich vermute, dass hier auch die o-Tabelle zuschlägt; ist das so? Und wenn ja, welche: die der Anzeige- oder die der Indexparameter?
> 
Das passiert in ftr.flx mittels Indexparameter.
In ftr.flx haben wir diese Sequenz:

var "Suchen mit Reg. Ausdrücken - Geben Sie einen Suchbegriff ein=#u!!"
ask
if cancel end
if "?" jump help
  Eingabe ist ANSI, in ASCII wandeln und in #u!! setzen
asci
  (darauf greift  srx  automatisch zu!)
ins #u!!

Da sehen Sie, daß jedesmal #u!! abermals umcodiert wird. Man sollte das wohl mal geeignet
abändern ... Vielleicht hat wer eine Idee.

B.E.




Mehr Informationen über die Mailingliste Allegro