INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

MySQL-Datenbankzugriff und Sonderzeichen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

09.10.2016, 02:31 (Dieser Beitrag wurde zuletzt bearbeitet: 09.10.2016 02:39 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: MySQL-Datenbankzugriff und Sonderzeichen

Akzeptierte Lösung

(05.10.2016 15:01 )dummyuser schrieb:  Hallo!

Ich möchte auf den "Native LabVIEW TCP/IP Connector for mySQL Database" umstellen, um auf meine Datenbanken zuzugreifen.
Funktioniert auch soweit Alles ganz gut, nur habe ich ein Problem bei Tabellenfeldern in denen ein Text mit Sonderzeichen/Umlauten eingetragen ist. Hier werden Umlaute in den Textfeldern (vom SQL-Typ CHAR(..)) in LabView nicht richtig zurückgegeben.
Beispiel Feldinhalt: Prüfer Müller
Wird ausgegeben als: Prüfer Müller
Die Datenbank-Kollation: utf8_bin

Anmerkung: In PhPMyAdmin sehe ich die korrekte Darstellung. Auch mit Hilfe des ODBC-Treibers des NI-Database-Tool bekomme die Daten korrekt formatiert zurück.

Hat jemand ein Idee?
Danke im Voraus

Du hast Dir schon selber die Antwort gegeben. Da kommt Unicode UTF8 durch. LabVIEW kennt aber nur ASCII 8 Bit, mehr spezifisch wahrscheinlich Windows Codepage 1252 das in Englisch und West europäischen Sprachen verwendet wird.

Wenn Du die native Library verwendest kommt der String einfach so wie er in der Datenbank ist. UTF8 verwendet eine recht komplexe Codierung wo fast alle Character ausser den normalen englischen Character und Zahlen und normaler Interpunktion in mehr dann einem Byte dargestellt werden. Dazu gehören auch die deutschen Umlaute.

Wenn Du dagegen den ODBC Treiber verwendest, konvertiert der intern UTF8 nach der default UTF16 Codierung in Windows. Da LabVIEW als ASCII Application nur ASCII Strings verarbeitet ruft es aber die ASCII ODBC Funktionen auf die ihrerseits den UTF16 String in die aktuelle Windows Codepage konvertieren, so dass es in LabVIEW richtig aussieht. Wenn die Datenbank aber dann Character enthält die die aktuelle Codepage nicht kennt, kommt auch durch den ODBC Treiber an dieser Stelle nur ein Fragezeichen an.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: MySQL-Datenbankzugriff und Sonderzeichen - rolfk - 09.10.2016 02:31

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dateien mit Sonderzeichen umbenennen Trinitatis 8 8.404 31.08.2017 20:05
Letzter Beitrag: Trinitatis
Exclamation Datenabfrage einer MySQL-Datenbank Phil Unglert 3 6.527 13.05.2016 15:57
Letzter Beitrag: Freddy
  mySQL viele connections - schließen oder eine aufsplitten? LVT_Hiwi 2 5.503 18.02.2015 10:56
Letzter Beitrag: LVT_Hiwi
  Sonderzeichen vor schreiben in MySQL maskieren RabenFlug 3 7.303 27.03.2014 18:13
Letzter Beitrag: jg
  MySQL Datenbank DarkLord 8 9.301 03.02.2014 09:07
Letzter Beitrag: DarkLord
  MySQL LabView Noobie 27 28.082 28.11.2011 11:46
Letzter Beitrag: Noobie

Gehe zu: