Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zu UTF8EncodeToShortString (https://www.delphipraxis.net/131772-frage-zu-utf8encodetoshortstring.html)

Die Muhkuh 30. Mär 2009 19:36


Frage zu UTF8EncodeToShortString
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich hab eine MySQL-Datenbank, deren Kollation auf utf8_unicode_ci steht.

Über ein Delphi-Programm (mit Delphi 2009 geschrieben), möchte ich Daten in eine Tabelle einfügen. Um dies zu verwirklichen, wende ich die Funktion UTF8ToShortString an, um die Daten ordnungsgemäß zu codieren (vielleicht ist es auch die falsche Funktion?). Es werden alle Umlaute (ä ö ü) richtig codiert und nachher richtig auf der Website angezeigt, nur das Scharf-S (ß) nicht, dort wird ein "�?" draus.

Anbei noch eine Grafik, die den Ablauf anzeigt.

Grüße

mkinzler 30. Mär 2009 19:53

Re: Frage zu UTF8EncodeToShortString
 
Warum gehst du den Weg über ANSI (ShortString)?

Die Muhkuh 30. Mär 2009 20:01

Re: Frage zu UTF8EncodeToShortString
 
Wenn ich andere Funktionen nehme zum Kodieren oder weglasse, werden sie auf der Website wieder nicht richtig angezeigt. Durch ausprobieren fand ich raus, dass es mit der ShortString-Variante funktioniert.

Vielleicht hab ich auch eine Kombination noch nicht ausprobiert. Werd ich später / morgen mal schauen.

Die Muhkuh 31. Mär 2009 19:52

Re: Frage zu UTF8EncodeToShortString
 
*Push*

Die Muhkuh 6. Apr 2009 10:01

Re: Frage zu UTF8EncodeToShortString
 
Push again

Die Muhkuh 10. Apr 2009 20:51

Re: Frage zu UTF8EncodeToShortString
 
Push again...

Die Muhkuh 12. Apr 2009 16:35

Re: Frage zu UTF8EncodeToShortString
 
And again...

mjustin 12. Apr 2009 16:48

Re: Frage zu UTF8EncodeToShortString
 
Zitat:

Zitat von Die Muhkuh
Hi,

ich hab eine MySQL-Datenbank, deren Kollation auf utf8_unicode_ci steht.

Über ein Delphi-Programm (mit Delphi 2009 geschrieben), möchte ich Daten in eine Tabelle einfügen. Um dies zu verwirklichen, wende ich die Funktion UTF8ToShortString an, um die Daten ordnungsgemäß zu codieren (vielleicht ist es auch die falsche Funktion?). Es werden alle Umlaute (ä ö ü) richtig codiert und nachher richtig auf der Website angezeigt, nur das Scharf-S (ß) nicht, dort wird ein "�?" draus.

Anbei noch eine Grafik, die den Ablauf anzeigt.

Grüße

Ist Kollation nicht nur die Sortierreihenfolge?

http://dev.mysql.com/doc/refman/5.0/...code-sets.html

Der Zeichensatz müsste utf8 (oder ucs2) sein.

Kann man eventuell mit einem anderen MySQL - Client nachvollziehen, ob die Umlaute korrekt gespeichert und ausgelesen werden können?

Bin kein MySQL Experte aber ein Test mit einem anderen Tool ist zur Einkreisung des Fehlers oft hilfreich (vorausgesetzt dass dieses auch richtig funktioniert).

EDIT: gemeint war ein anderer MySQL Client (nicht ein anderer Server)...

S2B 12. Apr 2009 17:17

Re: Frage zu UTF8EncodeToShortString
 
Sicher, dass das Problem auf Delphi-Seite liegt? Bezüglich MySQL und UTF-8 hatte ich auch schon jede Menge Probleme unter PHP. Verwendest du SET NAMES 'utf8'?

Die Muhkuh 12. Apr 2009 17:31

Re: Frage zu UTF8EncodeToShortString
 
Auf der PHP-Seite verwende ich mysql_set_charset('utf8', $conn_id);

Ob es am Delphi-Programm liegt, muss nicht sein, wäre ne Möglichkeit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz