Hallo Perl-Gemeinde,
ich arbeite gerade an einer Schnittstelle die eine XML-Datei erstellt.
Diese soll sogenannte Blob-Daten (also Bilder, PDF's) als Hex-Strings ausgeben, die dann als Attachment wieder eingefügt werden.
In meinen Versuchen bin ich jetzt soweit gekommen, das die XML-Datei erzeugt wird, aber es passt noch nicht ganz mit der Aufbereitung
der Blob-Daten.
Hierzu wird folgender Code verwendet:
if ($Row[9]) {
$exportcontent = encode_base64(encode("UTF-8", $Row[9]));
if ($Row[20]) {
$Path =$tmpDir ;
$Filename = $Row[20];
}
Wobei der Inhalt von $exportcontent dann wie folgt aussieht:
<attachment name="screen1.jpg" type="image/pjpeg">77+977+977+977+9ABBKRklGAAEBAQBgAGAAAO+/ve+/vQBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL
DBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zND
richtigerweise (ich weiss das, weil die XML-Datei mit diesen Daten verarbeitet werden kann, habe diese Hexstrings jedoch nicht erzeugt) müssten die Daten aber so aussehen:
<attachment name="screen1.jpg" type="image/pjpeg">/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDB
Dies sind jedoch nur die ersten 134 Bytes, die hier exemplarisch stehen. tatsächlich geht es noch weiter.
Da die Daten nicht richtig decodiert sind, kann die übernehmende Schnittstelle sie nicht einlesen und zeigt keine Daten an.
Die XML wird als ISO-8859-1 erzeugt.
Ich vermute dass der Fehler in der Verwendung des encode-Befehls liegt. Habe hier auch schon verschiedene Versionen durchprobiert leider ohne den gewünschten Effekt. Die verwendete Datenbank ist eine mySQL bzw. eine DB2 V9 mit UTF-8 Codierung.
Vielleicht kann mir hier jemand aus dem Forum helfen,
der mit der Materie näher vertraut ist.
Bin für jeden Tip dankbar.