Seite 1 von 1

PBOSL - SQLite3

Verfasst: 26.06.2007 07:06
von drahneir
Hallo,

habe kürzlich die neueste Version von PBOSL heruntergeladen. Danach habe ich festgestellt, dass sich ein Fehler eingestellt hat.
In meiner Anwendung wird ein String aus einer SQLite-Datenbank in einem Editor-Gadget angezeigt. Jetzt stoppt die Ausgabe bei einem "ü".
Nachdem ich wieder die alte SQLite-Userlib installiet habe, läuft alles wieder normal.

Re: PBOSL - SQLite3

Verfasst: 26.06.2007 07:44
von Kiffi
drahneir hat geschrieben:Jetzt stoppt die Ausgabe bei einem "ü".
<Vermutung>
vielleicht ein Fehler im Zusammenhang mit Unicode.
</Vermutung>

Ich empfehle Dir, auf das SQLite-Include von Thomas/MLK
umzusteigen, da ich die PBOSL-Version nicht mehr weiter
entwickeln werde.

Grüße ... Kiffi

Verfasst: 26.06.2007 16:47
von ts-soft
SQLite von PBOSL und auch die Include nutzen seit geraumer Zeit UTF-8, so
wie es für SQLite vorgesehen ist. In älteren Versionen wurde dies nicht be-
rücksichtigt, da: PB vor 4 kein UTF-8 konnte. Die Umstellung erforlgte aber
leider nicht unmittelbar nach erscheinen von PB4. Alte Datenbanken sind
nicht ohne Konvertierung zu nutzen. Bei Neu erstellten sollte es keine
Probleme geben.

Zwecks Konvertierung, ab hier mal lesen:
http://www.purebasic.fr/english/viewtop ... 784#196784

Habs mal verschoben. Fragen zu PBOSL hier:
http://www.purebasic.fr/german/viewtopic.php?t=5062
oder in Anfänger/Allgemein einordnen, aber nicht als neues Feedback :mrgreen:

Re: PBOSL - SQLite3

Verfasst: 26.06.2007 16:48
von Thorsten1867
drahneir hat geschrieben:... Jetzt stoppt die Ausgabe bei einem "ü".
Nachdem ich wieder die alte SQLite-Userlib installiet habe, läuft alles wieder normal. ...
Ich hatte das gleiche Problem. Es tritt bei beiden SQLite-Include bzw. Lib auf und zwar wenn man eine "alte" (=ASCII) Datenbank verwendet. Wenn man die Datenbank neu erstellt oder konvertiert nach Unicode, da funktioniert es.

Verfasst: 26.06.2007 18:32
von drahneir
Meine Datenbank ist UTF-8 codiert.
Ich habe es noch mal ausprobiert: mit der alten SQLite3 Lib läuft es, verwende ich die vom 20.02.2007, dann bricht die Ausgabe bei "ü" ab.
Da meine Anwendung auf die Datenbank aufsetzt und demzufolge sehr viele SQLite3-Befehle im Code stehen, wäre es ein ziemlich großer Aufwand, diese für eine andere Lib bzw. Include abzuändern. Ich werde also die alte Lib weiterbenutzen.
Vielen Dank für die Hilfe.

Verfasst: 26.06.2007 18:35
von ts-soft
>> Ich werde also die alte Lib weiterbenutzen.
Sollte die beste Lösung sein, andere Änderungen gabs wohl nicht.

Verfasst: 27.06.2007 16:22
von drahneir
Eins verstehe ich bei diesem Problem nicht.
Ich habe mir den Code von SQLite3 mal angesehen, in den Prozeduren, die für das Holen von Daten aus der Datenbank zuständig sind, steht folgender Code:

Code: Alles auswählen

PokeS(@sSQLQuery_U, sSQLQuery, #PB_Any, #PB_UTF8)
Wenn ich #PB_Any und #PB_UTF8 da herausnehme oder #PB_Ascii einsetze, dann werden die Umlaute angezeigt.
Wenn ich meine Datenbank mit 'PRAGMA encoding' abfrage, erhalte ich den Rückgabewert 'UTF-8'. Also sollte beides zusammen doch funktionieren; tut es aber nicht.

Verfasst: 27.06.2007 16:29
von ts-soft
Darum gehts doch, UTF-8 ist das korrekte Format für SQLite, nicht ASCII,
bzw. ANSI. Alle Umlaute liegen aber in UTF-8 und ANSI anders, deswegen
gehts nicht mehr. Wenn die DB neu erstellt wird, gibts diesen Fehler nicht,
da ja nicht nur UTF-8 gepoked wird, sondern auch gepeeked :wink:

Verfasst: 20.08.2007 11:52
von drahneir
Habe jetzt die Datenbank konvertiert, d. h. alle Daten ausgelesen und UTF-8-kodiert wieder reingeschrieben. Hat aber nichts gebracht, im Gegenteil.
Wenn ich mir die Daten mit SQLiteExpert ansehe, dann ist ein String, der mit einem Umlaut anfängt, jetzt leer. "Österreich" ist also überhaupt nicht da, "Weißrussland" erscheint als "Wei".
Woran kann das denn nun liegen?

Verfasst: 20.08.2007 11:55
von Kiffi
drahneir hat geschrieben:Habe jetzt die Datenbank konvertiert, d. h. alle Daten ausgelesen und UTF-8-kodiert wieder reingeschrieben.
probier's mal hiermit (ungeprüft): http://www.purebasic.fr/english/viewtop ... 820#205820

Grüße ... Kiffi