Discussion:
Delphi 5 und utf-8
(zu alt für eine Antwort)
Jakob Achterndiek
2014-08-09 21:23:11 UTC
Permalink
Hallo,

mit einem vor Jahren geschrieben Programm lasse ich den
Inhalt einer Access-Datenbabk als Bildschirmtext in Html
ausgeben. Bisher war die Darstellung auf iso-8859-15
festgelegt.

Jetzt soll die gesamte Ausgabe auf utf-8 umgestellt werden.
Meine Frage:
Kann ich das mit Delphi 5 prof entwickelte Programm
so umstellen, daß es utf-8 ausgibt?
Wenn ja:
An welcher Schraube muß ich drehen?

Gruß
j/\a
--
Hans-Peter Diettrich
2014-08-10 08:56:36 UTC
Permalink
Post by Jakob Achterndiek
Hallo,
mit einem vor Jahren geschrieben Programm lasse ich den
Inhalt einer Access-Datenbabk als Bildschirmtext in Html
ausgeben. Bisher war die Darstellung auf iso-8859-15
festgelegt.
Jetzt soll die gesamte Ausgabe auf utf-8 umgestellt werden.
Kann ich das mit Delphi 5 prof entwickelte Programm
so umstellen, daß es utf-8 ausgibt?
Im Prinzip ja ;-)
Post by Jakob Achterndiek
An welcher Schraube muß ich drehen?
Ich würde erst mal bei der Datenbank nachschauen, ob die bereits Strings
in UTF-8 oder UTF-16 liefern kann - dann kannst Du Dir weitere Arbeit
sparen.

Falls Du die Konvertierung nicht selbst schreiben möchtest, kannst Du
auf WinAPI Funktionen zurückgreifen (MultiByteToWideChar...). Vermutlich
sind dabei zwei Konvertierungen notwendig, zuerst vom ISO Zeichensatz in
Unicode (WideChar, UTF-16), und dann von UTF-16 nach UTF-8.

Vermutlich wird die Datenbank auch mal auf einen anderen (Unicode?)
Zeichensatz umgestellt, sonst macht die Umstellung der Ausgabe wenig
Sinn. Ich würde daher die Konvertierung logisch trennen in
DatenbankToUnicode() und UnicodeToUTF8(), dann mußt Du später nur noch
den Datenbank-Anschluß ändern.

DoDi
Jakob Achterndiek
2014-08-10 09:51:37 UTC
Permalink
Am 10.08.2014, 10:56 Uhr, schrieb Hans-Peter Diettrich
Post by Hans-Peter Diettrich
Post by Jakob Achterndiek
[..]
Kann ich das mit Delphi 5 prof entwickelte Programm
so umstellen, daß es utf-8 ausgibt?
Im Prinzip ja ;-)
Post by Jakob Achterndiek
An welcher Schraube muß ich drehen?
Ich würde erst mal bei der Datenbank nachschauen, ob die bereits
Strings in UTF-8 oder UTF-16 liefern kann - dann kannst Du Dir
weitere Arbeit sparen.Falls Du die Konvertierung nicht selbst schreiben
möchtest, [..]
Danke, so habe ich mir das schon gedacht. Mein Access liefert sowas
nicht, die ganze Geschichte ist, wie schon erwähnt, uralt.
Ich werde also die Konvertierung selbst in mein Programm einbauen
müssen. Das ist zum Glück keine große Affäre, weil es nur um die
Umlaute und das ß geht; ein paar andere Zeichen waren schon als
utf-8-Code implementiert.

Gruß
j/\a
--

Lesen Sie weiter auf narkive:
Loading...