-
SQL resultset --> PHP encoding
Hallo!
Folgendes SQL läuft im Navigator problemlos und liefert das gewünscht Ergebnis:
SQL
select fir, '00010101' as trm#, 'L' as rsar, msas, manr, mfbn, mgrs, dspb, sum(mbtv+mbzu-mbab) as Menge
from libx.filex where ...
group by fir, msas, manr, mfbn, mgrs, dspb
Ergebnis:
Firma TRM# RSAR Mat.-Saison
001 00010101 L 58
Wenn ich nun das Ergebnis als Result-Set in PHP auslese sind TRM# und RSAR unlesbare Zeichen:
MSAS |
|
| Termin | Status |
|
|
|
| 58 |
|
| ñ.ð.ðð | Ó |
|
| 58 |
|
| ñ.ð.ðð | Ó |
|
| 58 |
|
| ñ.ð.ðð | Ó |
|
|
Die Ergebnisfelder TRM# und Art konvertiere ich mit trim(mb_convert_encoding(db2_result($result, 'TRM#'),"UTF-8","ISO-8859-1"));
Vielen Dank für eure Hilfe
-
Irgendwo fehlt da wohl noch die Konvertierung von EBCDIC nach ASCII oder UTF-8.
-
Wenn ich das richtig sehe, gibst du den Wert '00010101' schon im PHP-Skript im SELECT mit an.
Eventuell ist es schon UTF-8, dann brauchst du auch keine Konvertierung mehr machen.
lg Andreas
-
Dies ist ein Problem der nicht vorhandenen CCSID (*HEX bzw. 65535) auf den Zeichenfeldern der Datenbank.
Schau mal in die i5_Connect-Properties, ob du eine Einstellung für "Convert 65535=true" findest und wende diese an.
Alternativ hilft auch ein Cast:
select cast(TRM# as char(nn) ccsid 273) as TRM# ...
Alternativ auch zusätzlich in Unicode:
select cast(cast(TRM# as char(nn) ccsid 273) as grphic(nn) ccsid 13488) as TRM# ...
-
Hallo,
die Jobs von PHP laufen im Subsystem QSYSWRK
Z.B.:
Job: QSQSRVR Benutzer: QUSER Nummer: 335650
evtl. prüfen mit welchem Zeichensatz der Job läuft.
Gruß
Michael
-
Ein SQL-Serverjob hat immer eine CCSID!
Steht der Systemwert auf 65535 wird die CCSID aus der Sprach-ID (User oder Systemwert) entwickelt.
Da ODBC ja in ANSI/ASCII umwandeln muss, wird immer eine CCSID eingestellt.
Hier steht wohl die Datei bzw. die Felder auf CCSID *HEX, was eine automatisch Codewandlung verhindert.
In den ODBC/JDBC-Treibern gibt es eine Einstellung für zwangsweises wandeln von *HEX, was im Übrigen echte Binärdaten dann verhindert. Ich speichere z.B. Bilder (jpg's u.ä.) in der DB, die natürlich nicht gewandelt werden dürfen.
-
Danke für die ausführlichen Erklärungen.
Auf die Schnelle hab ich das mit dem CAST gelöst - die Einstellungen im I5_Connect werde ich mir bei Gelegenheit mal ansehen.
Similar Threads
-
By DISCOME in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 07-09-12, 08:53
-
By schatte in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 02-02-12, 12:54
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 17
Letzter Beitrag: 11-05-06, 14:57
-
By redsky in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 17-10-05, 11:23
-
By reraru in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 20-04-05, 13:07
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks