-
Sorry,
das mit dem "G" in der DDS hatte ich komplett verdrängt. :-)
Ich wollte eigentlich nur ausdrücken, dass, wenn man heute eine internationale Anwendung erstellt, alles, wo "DBCS" oder "Graphic" draufsteht, getrost ignorieren kann, das bringt einen nicht weiter.
Zumindest nach meiner Erfahrung.
(Wenn wir schon bei i-Pünktchen sind: "Unicode" ist der eine, ganz große Zeichensatz. UTF ist eine mögliche Kodierung.)
Habe gerade eine kleine Test-Datei erstellt, ein DSPFD des Index sagt "DBCS-fähig: Ja". (V7R1)
PHP-Code:
CREATE TABLE TESTU (FELD1 VARgraphic (10 ) CCSID 13488 NOT NULL WITH DEFAULT) CREATE INDEX testu1 ON TESTu (FELD1)
-
 Zitat von Anton Gombkötö
das mit dem "G" in der DDS hatte ich komplett verdrängt. :-)
Ich wollte eigentlich nur ausdrücken, dass, wenn man heute eine internationale Anwendung erstellt, alles, wo "DBCS" oder "Graphic" draufsteht, getrost ignorieren kann, das bringt einen nicht weiter.
Zumindest nach meiner Erfahrung.
(Wenn wir schon bei i-Pünktchen sind: "Unicode" ist der eine, ganz große Zeichensatz. UTF ist eine mögliche Kodierung.)
Habe gerade eine kleine Test-Datei erstellt, ein DSPFD des Index sagt "DBCS-fähig: Ja". (V7R1)
PHP-Code:
CREATE TABLE TESTU (FELD1 VARgraphic (10 ) CCSID 13488 NOT
NULL WITH DEFAULT)
CREATE INDEX testu1 ON TESTu (FELD1)
... meine Rede: Bug => Fehlermeldung an IBM.
Ich denke, ihr machts euch ein bisschen einfach:
UCS2 und UCS4:= Unicode für Arme und Kranke
- Subset von Unicode mit feste Länge von jedem Zeichen
- für Indexbäume relativ ein´fach handhabbar
UTF8 und UTF16:= the real stuff
- kann heute (und in absehbarer Zukunft) alle Zeichen
- arbeitet mit variabel langer Codierung
- "häufige" (bei UTF8 wenige, bei UTF16 ala UCS2) Zeichen fix codiert
- "seltene" Zeichen mit einer Art escaped Entity Darstellung
- gleich aussehende Zeichen können unterschiedlche Codierungen haben
- für Indexbäume problematischer
D*B
-
Die Speicherung in UTF-8 ist ja ganz nett, aber je nach Implementation scheitert man dann spätestens beim Vergleich, wenn die zu vergleichende Zeichenfolge nicht auch UTF-8 ist.
In diesem Fall wird ggf. unter Verlusten in UCS2 konvertiert.
Auch der SUBSTR von UTF8 ist von der Implementierung abhängig.
Ggf. wird in UCS2 umgewandelt, der SUBSTR durchgeführt und in UTF8 zurückgewandelt.
Es kann aber auch schiefgehen.
Native UTF8/16-Zeichenfolgen werden eher im Programm in Strings (UCS2) vor der weiterverarbeitung konvertiert.
Ich habe da noch keine UCS4-Implemtierung gesehen, die dies alles korrekt behandeln würde.
Zumindest für die reine DB-Speicherung würde ich von UTF8 abraten.
Wobei Oracle generell NCHAR's als UTF-8 speichert und die Länge dabei in "Bytes" und nicht in "Zeichen" angegeben wird.
Also NCHAR(1) geht zwar, aber kann halt keine Sonderzeichen wie Umlaute aufnehmen.
-
 Zitat von Fuerchau
Wobei Oracle generell NCHAR's als UTF-8 speichert und die Länge dabei in "Bytes" und nicht in "Zeichen" angegeben wird.
Wie das Oracle Speichert UTF-8, UTF-16 (und ich glaube auch UCS2) wird bei der Installation der Datenbank festgelegt und kann im nachhinein auch nicht mehr einfach geändert werden.
-
Naja.
Da die Leute, deren Namen und Adressen, die ein system i in ihren Datenbanken stehen hat, lauter arme und kranke Namen haben, sollte man mit UCS-2 noch eine Weile ganz gut durchkommen.
Aber stimmt schon, wenn wir mehr Geschäfte mit Klingonen machen werden, müssen wir uns was für die effiziente Suche nach deren Namen überlegen. ;-)
Im IFS schaut die Sache anders aus; da ist UTF-8 wohl fast immer die beste Wahl. (XML, HTML, Mails, etc.)
-
 Zitat von Anton Gombkötö
Da die Leute, deren Namen und Adressen, die ein system i in ihren Datenbanken stehen hat, lauter arme und kranke Namen haben, sollte man mit UCS-2 noch eine Weile ganz gut durchkommen.
... den Einwänd hatte ich vön Dir äm wenigsten erwärtet.
Wo hättest Du Dich denn am liebsten hinsortiert? Hinter oder vor die Gombko... oder passte es auch vor die Gombka... oder hinter die Gombku...
Und was machen wir denn mit dem Florian Übelacker, wenn der nicht bei U einsortiert ist, findet den doch keiner...
D*B
-
Das ist ja überhaupt ein eigenes Thema.
Sortierung in Unicode. Oder mögliche Kodierungen für ein "ö".
Ich halte es für unnötigen Aufwand und Performancevergeudung, nun alle "internationalen" Felder auf UTF-8 umzustellen. UCS-2 reicht auch und ist in RPG gut unterstützt. Im Gegensatz zu UTF-8.
Ich bin schon froh, wenn ich auf meinen Kontoauszügen zwei "ö"s habe. Das hat schon Jahrzehnte gedauert.
Similar Threads
-
By BDehmel in forum Intern - Hilfe - Feedback - Tests-Forum
Antworten: 1
Letzter Beitrag: 16-12-07, 14:36
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
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