Seite 1 von 1

Umlautmurks bei ListViewGadget

Verfasst: 27.09.2008 17:39
von Palandt
Eigentlich wollte ich ja nicht mehr wegen jeder Kleinigkeit um Beistand bitten, aber ich stehe mit meinem Holzschädel mal wieder vor einem Problem, das aus meiner Sicht, das Stadium der Kleinigkeit längst verlassen hat: Das ListViewGadget zeigt statt Umlaute und ß nur hebräische Mossad-Geheimdienst-Chiffren an :) , so sehen sie jedenfalls aus: Statt Mängelgewährleistungsrecht steht in meiner Liste irgendwas von M?1/2ngelgew?1/2hrleistungsrecht und aus Straßenverkehrsdelikten wurschtelt mir das Gadget Stra?x1enverkehrsdelikte. Ich hab wie immer alle anderen Informationsquellen ausgeschöpft (google-Suche im Forum + Hilfedeatei). Aus meiner Sicht nicht erforderlich (da ansonsten alles reibungslos funzt), aber wem es bei der Fehlersuche hilft, das in Rede stehende Codefragment:

Code: Alles auswählen

Case #MENU_Projektladen
    			Open_Window_Projektladen()
    			SetActiveWindow(#Window_Projektladen)
    			OpenDB(#DB_QM, QM_DB\sFile, QM_DB\sUser, QM_DB\sPass) 
    			sSQL.s = "SELECT * FROM Projekte"
                 If DatabaseQuery(#DB_QM, sSQL)
                 	ix.i = 0
				    While NextDatabaseRow(#DB_QM)
				    		
				      SText.s = ""	
				      sText = "Projektname :" + GetDatabaseString(#DB_QM, 1) + "( Projekt-ID:" + GetDatabaseString (#DB_QM,0) +")"
				      
				      AddGadgetItem(#Listview_Projektladen, ix, sText)
				      ix = ix +1
				    Wend
				  EndIf 
Es sei noch angemerkt, dass "Projekte" eine Tablle ist, die ich - Kiffi sei gedankt! - per CSV aus Access in SQLite konvertiert habe.

Vielen Dank im Voraus!

Verfasst: 27.09.2008 17:44
von ts-soft
Testbaren Beispielcode, ansonsten ist es sinnlos. Deinem Codesnippet kann
ich nicht das mindeste entnehmen, hätteste auch weglassen können, wenn
man sowieso raten muß.

SQLite nutzt UTF-8 (intern), vielleicht versuchste es mal mit dem
Compilerflag Unicode. (Nur mal so in den blauen Dunst geraten :mrgreen: )

Oder:

Code: Alles auswählen

SText.s = PeekS(@SText.s, -1, #PB_UTF8)
kannste auch mal testen

Verfasst: 27.09.2008 17:49
von cxAlex
Möglicherweiser passt die Codierung der Datenbank nicht mit der Codierung von deinem Prog zusammen. Mehr kann ich aus dem Code-Snipped auch nicht schließen, kann sein das die Werte schon falsch in der DB stehen und beim konv. ein Fehler passiert ist.

// Edit: ah, Ts-soft war schneller

Verfasst: 27.09.2008 17:50
von Palandt
Danke für deine schnelle Antwort, aber ich hab bereits ziemlich viel Code geschrieben und ich glaube nicht, dass irgendwelche Prozeduren zum Öffnen und Schließen bestimmter Fenster oder zum Anzeigen eigens kreeirter Fehlermeldungsicons hier von Relevanz wäre.

Aber ich probier mal den Tipp mit dem Compilerflag. Allerdings weiss ich nicht, WIE ich das probieren soll, wäre also nett, wenn du mir sagen könntest, wie ich, und darauf wirds ja wohl hinauslaufen, SQLite auf Unicode "umswitchen" kann.

Verfasst: 27.09.2008 17:54
von cxAlex
Ich glaube ts-soft meint das du dein Programm als Unicode kompilieren sollst.
Das geht in Compiler->Compiler Optionen...

Verfasst: 27.09.2008 17:55
von Palandt
cxAlex, du hast mal wieder Recht: Ich glaub bald, ich hab mir beim Schlafen mein Gehirn rausgedrückt, ich komm auf die einfachsten Lösungen nicht. Stimmt, die Dinger stehen schon falsch in der Datenbank, es ist also bei der Konvertierung was schief gelaufen, manoman bin ich dämlich...vergesst den Eintrag hier einfach...ich lass mich einweisen!

//Edit: Ich öffne die Tabelle mit nem Texteditor und werd die Mossad-Zeichen gegen normale Umlaute per Erstetzenfunktion umtauschen und danach hau ich mir mit der Tastatur 10 Mal auf den Schädel und bitte Gott darum, Hirn vom Himmel regnen zu lassen!

Verfasst: 27.09.2008 18:00
von cxAlex
Kann jedem mal passieren. Ich bin mal ca. ne halbe stunde dagessen und hab überleg was der compiler an '3.1415 = PI' auszuseten hat bis ich gemerkt habe das ich grade ne Variable in ne Zahl schreiben wollte.... /:->

Verfasst: 27.09.2008 18:03
von Palandt
LOL! Danke nochmals, cxAles, hattest mir ja gestern schon geholfen!