[Allegro] Chinesische Zeichen im Register!

Heinrich Allers allers at t-online.de
Do Apr 2 22:56:08 CEST 2009


Im Zusammenhang mit meiner heutigen und sofort erledigten (besten Dank!!) Bitte um Korrektur von 
index.exe schrieb ich: 

> Ich habe eine Allegro-Datenbank mit chinesischen Zeichen, die konsequent (ab 
> Entitätencode 128) utf-8- codiert ist. Nachdem es mir gelungen ist, auch die 
> chinesischen Textelemente im Formular bearbeitbar zu machen (eine der 
> Voraussetzungen dafür bildet die Umrechnung "UTF-8 --> Entität"), möchte ich 
> nun auch die chinesischen Zeichen im Index erscheinen lassen:
> 
> Dazu müssen sie von UTF-8 in eine Codierung konvertiert werden, die der 
> "regierende Font" korrekt zu interpretieren vermag (ich benutze erst einmal den 
> Code GB2312).
> 
> Wie bei der Formularbearbeitung sind dafür 2 Konvertierungsschritte 
> erforderlich:
> 
> Erstens: Auflösung der UTF-8-Codierung in Entitätendarstellung, also z.B. 
> Umwandlung von E4BAAC in 京 
> 
> Zweitens: Ersetzung von Entitätenverschlüsselung durch vom Font korrekt 
> interpretierbare Codesequenz, mittels Sequenzersetzung; Vorliegen eines 
> korrespondierenden SD-Datensatzes mit geeigneter Indexierung ist 
> Voraussetzung (siehe Verlautbarung 164); um beim Beispiel zu bleiben: 
> 京 wird in diesem Schritt durch (hexadez.) B1B1 (GB2312-Code für den 
> dez. Unicode 20140) - im Ersetzungsregister (standardgemäß Reg. 10).

Als erfreulich ist zu vermelden, daß infolge der Aktualisierung von index.exe es möglich ist, bei utf-8-
codierten Datenbanken chinesische Zeichen im Register korrekt anzeigen zu lassen (deren 
Bearbeitbarkeit im Formular wurde bereits weiter oben erwähnt)!!! 

Detailfragen habe ich freilich noch: setze ich in cat.api alle o.api- und alle i-api-Umschlüsselungen außer 
Kraft und schreibe in vorsichtiger Weise

u&# ;
#dU
!u1 u f" " e" =" e66 =xy     Kopfform endet bei ...
p & 9
#dV
#uxy

so klappt es nicht, weil nicht von UTF-8 nach Entitätenzahlen umgeschlüsselt wird.- Ergo: #dU scheint bei 
index.exe nicht zu funktionieren.

Schreibe ich stattdessen

u&# ;
p & 9
!u1 y4 y3 f" " e" =" e66            Kopfform endet bei ...

so klappt es! Wobei mit "klappen" hier gemeint ist, daß UTF-8-Codes korrekt als GB2312 ins Register 
geschickt werden, konkret: UTF-8 (hexad.) E4BAAC wird als GB2312-Code BEA9 ins Register 
geschrieben und erscheint deswegen dort schön und korrekt als chinesisches Zeichen; Voraussetzung 
bildet dafür natürlich, daß im Ersetzungsschlüsselregister 10 die passende Eintragung vom Programm 
gefunden wird.

Bleibt als Desiderat an dieser Stelle eigentlich nur, daß unter index.#dU seine datensatzweite Wirkung 
entfaltet und man so etwas als Registerschlüsselbildungsvorschrift schreiben kann:

u&# ;
#dU
p & 9
#dV
!u1 u f" " e" =" e66         Kopfform endet bei ...


Mit glücklichen Grüßen (des Allegro-Erfolges sowie auch des schönen Frühlingstages in München wegen 
- die Biergärten lebten auf, ich war ja nur deswegen nicht drin, weil ich das Erlebnis des chinesischen 
Zeichens im Register erst nach Einbruch der Dunkelheit hatte!):

Heinrich Allers

allers at t-online.de * http://www.h-allers.de
Netztagebuch: http://heinrich-erlo-ger.blogspot.com/
Bitácora: http://heinrich-erlo-spa.blogspot.com/

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://bibservices.biblio.etc.tu-bs.de/pipermail/allegro/attachments/20090402/ebce3537/attachment.html>


Mehr Informationen über die Mailingliste Allegro