Am 23.06.12 00:19, schrieb Oliver Osswald:
Im RS Programm muss DefineEncoding und ConvertEncoding eingesetzt werden.
Die Encoding information geht meines Wissens auf dem Weg zwischen Client und
Server verloren. Du musst also sicher sein, dass es UTF8 ist, was Du
abschickst und in MySQL speicherst, damit Du sicher sein kannst was Du dort
abholst.
... nur so als Idee, weiss nicht ob das bei Dir zutrifft.
Das Problem tritt sowohl dann auf, wenn Daten per externen Programmen in
UTF8 in der Datenbank gespeichert werden, als auch wenn man über
RealStudio selbst Daten einspeichert. Als einfaches Beispiel habe ich
die BLZ-Datei der Deutschen Bundesbank für einen Import verwendet: Das
Encoding gesetzt (Datei ist im ISO-Latin1-Format), ausgelesen und in der
Datenbank gespeichert. Sequel Pro zeigt die Umlaute korrekt an,
RealStudio hingegen nur, wenn beim Auslesevorgang explizit das Encoding
zum String gesetzt wurde:
rs.Field("Feldname").StringValue.DefineEncoding(Encodings.UTF8)
Gleiches Problem tritt aber auch auf, wenn man einen normalen
Insert-Query von RealStudio aus mit Umlauten absetzt und danach die
Daten wieder ausliest.
Bei anderen Datenbanksystemen bzw. Plugins gibt es im übrigen nicht
derlei Probleme. cubeSQL beispielsweise funktioniert mit Umlauten sowohl
beim Speichern als auch Laden der Daten einwandfrei, ohne zuvor
irgendwelche Codierungsoptionen setzen zu müssen. Valentina und
Postgresql werde ich in den nächsten Tagen einmal durchtesten.
--
Michael Kagerbauer
http://rbcoder.de