Lange hab ich ohne Hilfe gearbeitet... aber jetzt stehe ich an.
Meine Suche ergab auch noch keine Hilfe.
Mein Problem:
Hab eine Kundenverwaltung (bin eigentlich Rauchfangkehrer (Schornsteinfeger) mit EDV-Wurzeln *g*) mit mySQL (bzw. seit kurzem MariaDB) und PureBasic unter OSX geschrieben.
Erst unter Windows - dann auf OSX - Früher mit ODBC - dann mit mysql.lib von http://hex0rs.coderbu.de (danke - mindestens ein Bier steht *g*)
Und nun unter 5.7 sollte die DB-Abfragen wieder mit Boardmitteln funktionieren.
Erste Tests... verliefen mit Fehlern... Dann mal eine Test.pb geschrieben um die neue Sache zu lernen - insbesondere für den Übergang zur 5.7 um beide Versionen aktiv zu halten (falls weitere Probleme auftauchen sollten):
Code: Alles auswählen
Debug #PB_Compiler_Version;
CompilerIf (#PB_Compiler_Version >= 570)
UseMySQLDatabase()
If OpenDatabase(db, "host=xxx.xxx.xxx.xxx port=yyyy dbname=zzzz", "user", "password")
Debug "Verbunden zu MySQL"
Else
Debug "Verbindung fehlgeschlagen: "+DatabaseError()
EndIf
CompilerElse
XIncludeFile "mysql.pbi"
UseMySQLDatabase()
If OpenDatabase(db, "host=xxx.xxx.xxx.xxx port=yyyy dbname=zzzz", "user", "password", #PB_Database_MySQL)
Debug "Verbunden zu MySQL"
Else
Debug "Verbindung fehlgeschlagen: "+DatabaseError()
EndIf
CompilerEndIf
Debug Str(#PB_Compiler_Version)
query$ = "SELECT `Brennstoff` FROM `Feuerstaetten2014` group by `Brennstoff` ORDER BY `Brennstoff` ASC"
If DatabaseQuery(db, query$)
While NextDatabaseRow(db)
Brennstoff$ = GetDatabaseString(db,0)
If (Brennstoff$ <> "")
Debug "original:"+Brennstoff$
; Meine Versuche Umlaute wieder lesen zu können:
Debug "URLencode UTF8:"+URLEncoder(Brennstoff$, #PB_UTF8)
Debug "URLencode ASCII:"+URLEncoder(Brennstoff$, #PB_Ascii)
*Text = UTF8(Brennstoff$)
Encoded$ = Base64Encoder(*Text, MemorySize(*Text))
*DecodedBuffer = AllocateMemory(1024)
Base64Decoder(Encoded$, *DecodedBuffer, 1024)
Debug " UTF8:"+ PeekS(*DecodedBuffer, -1, #PB_UTF8)
EndIf
Debug "--------------------------------------------"
Wend
Else
MessageRequester("Datenbankfehler","Startwerte "+Chr(13)+query$)
EndIf
CloseDatabase (db)
Code: Alles auswählen
570
Verbunden zu MySQL
570
--------------------------------------------
--------------------------------------------
original:HEL - Ofenhei
URLencode UTF8:HEL%20-%20Ofenhei
URLencode ASCII:HEL%20-%20Ofenhei
UTF8:HEL - Ofenhei
Code: Alles auswählen
561
Verbunden zu MySQL
561
--------------------------------------------
--------------------------------------------
original:HEL - Ofenheizöl
URLencode UTF8:HEL%20-%20Ofenheiz%C3%B6l
URLencode ASCII:HEL%20-%20Ofenheiz%F6l
UTF8:HEL - Ofenheizöl
Erst dachte ich das die interne Verarbeitung Probleme macht... aber anscheinend kommen die Daten schon falsch bzw. vielleicht sogar abgeschnitten rüber...
Bitte um Hilfe... was kann ich noch tun, probieren oder ändern.
Hab ich die Lösung nur noch nicht richtig gesucht?
Grüße
Robert