Hallo aqs,

ich hoffe alle hatten schöne Ostern! Vor einigen Tagen machte ich eine 
Test-Lastschrift mit voller Breitseite an Umlauten (in UTF-8 codiert). 
Mein Text

"---ÄÖÜß---"

kam jedoch als

"---    ---"

auf dem Kontoauszug an (also "---<BLANK><BLANK><BLANK><BLANK>---"). Ich 
machte mich auf die Suche nach dem Ei - äh Bug. Auf der Job-Ebene läuft 
alles perfekt:

# In jobmultitransfer.c:238 wird durch

AB_ImExporter_Utf8ToDta("---ÄÖÜß---") der Text einwandfrei in 
"---[\]~---" umgesetzt, was der HBCI-Forderung entspricht.

# später wird dann aber nochmal _Utf8-to-Dta gerufen, und der versemmelt 
es dann wieder, er meint nun dass "[\]~" eigentlich KEINE DTA-Zeichen 
sind und ersetzt sie durch Blanks. Wer und warum _Utf8 nochmals anwendet 
konnte ich nicht genau rausfinden.

Utf8ToDta(Utf8ToDta('ÄÖß')) ist also '<Blank><Blank><Blank>' ist ja 
eigentlich OK, da die Übertragung der eckigen Klammern (mit diesem Sinn) 
ja wirklich nicht möglich ist. Ich hab meine Theorie nun durch einen 
Patch bestätigt, den ich aber nicht wirklich ernsthaft als Lösung 
vorschlagen will, da er das eigentliche Problem nicht wirklich löst:

imexporter.c:1562 (ALT)
      c=toupper(c);
      if (!(isdigit(c) ||
            (c>='A' && c<='Z') ||
            (c>='a' && c<='z') ||
            (strchr(" .,&-+*%/$", c))))
 
imexporter.c:1562 (NEU)
      c=toupper(c);
      if (!(isdigit(c) ||
            (c>='A' && c<='Z') ||
            (strchr(" .,&-+*%/$[\\]~", c))))

da ich aber im Moment vor Übergabe an AqBanking den DTA-möglichen 
Zeichensatz sicherstelle, ist der Patch für mich zunächst mal produktiv.

Andreas
PS:
  ANSI  ->  UTF-8 -> DTA- Kodierungen
'Ä' 0x8E -> 0xC3,0x84 -> '[' 0x5B
'Ö' 0x99 -> 0xC3,0x96 -> '\' 0x5C
'Ü' 0x9A -> 0xC3,0x9C -> ']' 0x5D
'ß' 0xE1 -> 0xC3,0x9F -> '~' 0x7E


-- 
Andreas Filsinger
IT-Freiberufler
Stettfelder Strasse 44
76698 Ubstadt
GERMANY

Tel. +49(0)7251/966100
Mob. +49(0)175/5913758

http://www.OrgaMon.org


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Aqbanking-devel mailing list
Aqbanking-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aqbanking-devel

Reply via email to