-
%substr eines UTF16 Feld
Hallo *all,
ich habe folgendes Problem:
Datei mit dem FELd: TEXT1 G 502 CCSID(1200) gefüllt mit chinesischen zeichen
D feld1 S 15000CCCSID(1200)
nach dem select auf die Datei in meinem programm, möchte ich folgendes machen:
%subst(feld1:1:L)= %subst(text1:1:L);
hier stürzt das Programm ab mit der Meldung: "Länge oder Anfangsposition liegt außerhalb des gültigen Bereichs für die Zeichenfolgeoperation"
Kann mir jemand hier das Problem schildern?
DANKE!
-
Da UTF16 ein variables Format ist (2 oder 4 Byte), funktioniert %subst da leider nicht.
Hier musst du einen Umweg über UCS2 (13488) machen (fix 2 Byte).
%subst(% UCS2(TEXT1:1:L))
Probiert habe ich das allerdings noch nicht.
UTF16 und auch UTF8 sollte nur als Import/Export-Datentyp verwendet werden.
UCS2 sollte bei der Datenhaltung und Programmierung verwendet werden.
Es wäre also besser, die Daten beim Select in eine UCS2-Variable zu lesen und dann eben auch per Update/Insert zu schreiben.
Variable Zeichensätze (UTF8, UTF16) sollten datenbanktechnisch auch als VARCHAR/VARGRAPHIC definiert und Leerzeichen am Ende immer abgeschnitten werden (Trim).
Es könnte nämlich sonst passieren, dass beim Schreiben die Daten zu lang werden.
Ich hatte da mal das Problem mit Oracle:
LagerNr varchar2(2)
varchar2 ist bei Oracle immer UTF8.
Leider kam der Anwender auf die Idee, das Lager "ÜL" zu nennen, für UTF8 werden aber 3-Byte benötigt. Und schon gabs SQL-Fehler!
Wenn man also mit UTF8 bzw. UTF16 arbeitet sollte man die 4 bzw. 2-fache Kapazität in der DB planen und die Eingabe entsprechend beschränken.
-
DANKE!!!
und ein schönes Wochenende noch!
-
das hat fuktioniert. ich konnte es aber besser lösen indem ich schon im SQL-stmt den substring auf das utf16-feld durchgeführt habe. Bsp: select substring(feld1,1,:x) from.... Dies hat mir das hin und her convertieren erspart.
Hätte gleich darauf kommen können :-)
-
Hier regelt SQL das intern selber, da auch SQL erst mal in UCS2 konvertieren muss.
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 01-09-10, 15:21
-
By svente in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 23-01-07, 09:49
-
By edig in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 27-07-06, 08:20
-
By M Scheid in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 12-06-06, 13:02
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 10-05-06, 16:26
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