Umlaute MySQL / VB6 / ODBC

  • Ersteller Gelöschtes Mitglied 710
  • Erstellt am
G

Gelöschtes Mitglied 710

Hi,

ich bin hier gerade ein wenig am Verzweifeln. Zuerst die technischen Daten:

MySQL-Server: 5.0.27
Programmiersprache: Visual Basic 6.0 SP6
OS: Win Vista / Win XP

Für einen Kunden habe ich eine Bildübertragungssoftware programmiert. Diese legt Daten auf einem FTP Server ab und trägt die Informationen in einer SQL Datenbank ein. Das lief bis vor Kurzem einwandfrei. Dann ist beim Kunden der Linuxkasten abgedampft (natürlich ohne DaSi) und wurde von irgendwem neu aufgesetzt.

In meiner Software musste nichts geändert werden. Aber ....

Ab dem Zeitpunkt werden Datensätze mit Umlauten zwar im PhpMyAdmin korrekt angezeigt, greife ich aber per VB über den MySQL ODBC Connector zum Auslesen (V5) zu, bekomme ich die Umlaute nicht zurück, sondern nur lustige komische Zeichen. Das Witzige ist aber, dass die Datensätze über die selbe Software in MySQL eingetragen werden. Also muss das mit den Umlauten in die eine Richtung ja klappen.

Sämtliche Kollationen der Datenbank und der enthaltenen Tabellen stehen auf "latin1_german1_ci", Default Charset ist "latin1".

Kann mir da jemand auf die Sprünge helfen? Vor der Neuinstallation des Linux inkl. MySQL war ja alles ok. Und an meiner Soft habe ich nix geändert.

Bin ja generell nicht der Freund von MySQL. Bevorzuge da dann doch lieber den SQL Server von Mickysoft ;). Aber das ist ein anderes Thema.

Bin für jeden Hint dankbar.

Gruß,
HoloDoc
 
Zuletzt bearbeitet von einem Moderator:
kenne mich in VB net aus, aber so wie du es schilderst ist das temporäre Encoding der Datenbankverbindung UTF8 also gug mal ob du da was umstellen kannst
 
Hi,

das könnte gut sein. Wenn ich die Startseite vom PHPMyAdmin aufrufe, dann steht da u.a.: "MySQL-Zeichensatz: UTF-8 Unicode ( utf8 )".

Meinst Du, daran könnte das liegen? Und wenn ja, wie kann ich das umbiegen? Der gute Mann, der zur Zeit am Server steht, hat leider keine Ahnung davon, aber immer noch mehr als ich ;).

Gruß,
HoloDoc
 
Zuletzt bearbeitet von einem Moderator:
Hi.

Nun bin ich ja kein MySql Geek (hab auch hauptsächlich mit dem Sql Server zu tun *hehe*), hab aber mal in der MySql Doku geschaut und für den Connection String eine Einstellung namens "Character Set" gefunden.

Connection String Properties: https://dev.mysql.com/doc/refman/5....net-examples-mysqlconnection-connectionstring

Der Link hier dürfte auch noch sehr interessant sein: https://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
Möglicherweise wurde einfach in der MySql Config ein anderes default-character-set angegeben?

Viele Grüße,

Karsten

Edit: Wenn er schon so nett im PHPMyAdmin sagt, dass der Zeichensatz UTF-8 ist, kannst du ja einfach mal den Connection String um die Angabe "Character Set=utf8" ergänzen =).
 
Hi,

tuts leider nicht. So wie ich das in dem Artikel verstanden habe, dient der Parameter "Character Set" auch nur dazu, um einen bestimmten Zeichensatz für die Übertragung ZUM Server zu verwenden. Für die Rückgabe werden die Einstellungen der Datenbank genommen.

Das gibts doch alles gar nicht.

Gruß,
HoloDoc
 
Hi,

so, Thema erledigt.

Hatte bisher den MySQL ODBC Treiber in der Version 5 benutzt. Ist zwar eine Beta, aber hats immer getan. Aus purer Verzweiflung bin ich jetzt mal auf die 3.51 zurück gegangen und es gab wieder Umlaute ;)

Weiss der Geier, warum das auf dem alten MySQL-Server lief und auf dem neuen nicht mehr.

Gruß,
HoloDoc