[Allegro] Codierungsproblem mit "if ARtic set"

Bernhard Eversberg ev at biblio.tu-bs.de
Mo Nov 4 07:06:57 CET 2013


Am 03.11.2013 01:13, schrieb Thomas Berger:

>
>
> Denn acon geht wie gesagt und ganz anders als a99-Flexe davon aus,
> dass alles in allegro-Windows codiert ist und per umgekehrter o-Tabelle
> erst nach allegro-Ostwest rueckgewandelt werden muss (etwa beim insert)
>

Blickt inzwischen noch irgendwer durch?
Wir geben deshalb eine immer funktionierende Hilfestellung.

Die automatische Wandlung kann leicht zu einem dann schwer
durchschaubaren Problem werden, wenn etwa ein Datenfeld mehr als
einmal per "insert" in den Datensatz eingeordnet wird. Jedesmal
würde die Umwandlung erfolgen und bei zweitenmal dann ein
Sonderzeichen zwangsläufig verfälschen.
In der Regel ist es das Einfachste und empfiehlt sich,
zunächst einmal

set c0
set U0

zu setzen. Sodann stets vor einem "insert" den Befehl

asci

falls die einzuordnenden Daten Windows-(ANSI-)codiert sind.
Oder aber

xcode u

falle es sich um UTF-8-Daten handelt.
Wenn man ferner in einzelnen Feldern die Artikelmarkierung
erzeugen will, dann stets so:

...
insert #nnn
if ARtic ins _¬_X_;insert #nnn

und für X den Code des in der eigenen Datenbank verwendeten
Nichtsortierzeichens. Denn "if ARtic" setzt immer dem Code 170
(= AA = ¬) ein. Ist dies zufällig derselbe wie der eigene, kann
der Befehl ins  _¬_X_;  entfallen, schadet aber nicht.

Dieses stets klappende Verfahren umschifft alle u.U. schwer
durchschaubaren Eventualitäten.

(Ja, das gehört auch in die Doku und da kommt's auch rein.)

B.E.




Mehr Informationen über die Mailingliste Allegro