![]() |
Datenbank: SQLite • Version: 3.5.1 • Zugriff über: TFDQuery
SQLite verfälscht Umlaute
Hallo,
ich habe einen "komischen Effekt": folgende Anweisung:
Delphi-Quellcode:
'INSERT INTO material VALUES (''001'',''001985'',''ELZUBEHOER'',''Hakennägel 50 mm'',''St'',0.02,0.02,0.02,'''') '
ergibt in der Datenbank, wenn ich sie mit SQLite-Admin ansehe den Text 'Hakennägel 50 mm', die Umlaute sind also kaputt, nur warum bzw. was muss ich wo umstellen dass die Umlaute korrekt eingetragen werden? Setze ich ein einzelnes Feld per
Delphi-Quellcode:
FDQUery.FieldByName('Name').asString := 'Lieschen Müller"
stehen da die Umlaute korrekt drin! Ciao Stefan Nachtrag: falls es wichtig ist, die Erzeugung der Tabelle:
Delphi-Quellcode:
'CREATE TABLE material (lief VARCHAR(3),matnr VARCHAR(20),such VARCHAR(30),kurztext VARCHAR(80),me VARCHAR(5),vk1 DECIMAL(10,2),vk2 DECIMAL(10,2),vk3 DECIMAL(10,2),langtext TEXT) '
|
AW: SQLite verfälscht Umlaute
Hallo,
Hakennägel Das ist Unicode. Da ich mich mit SQLite nicht auskenne, kann ich nicht mehr dazu sagen als "Immer Parameter benutzen". |
AW: SQLite verfälscht Umlaute
Moin...:P
Zitat:
![]() Zitat:
|
AW: SQLite verfälscht Umlaute
Zitat:
Kann es sein das deine DB eine ANSI-Codierung verwendet und die FireDacs auf UTF8 eingestellt sind? |
AW: SQLite verfälscht Umlaute
Danke erst mal für die Antworten!
Zitat:
Zitat:
Wo aber soll das Problem sein, es ist eine kleine Datenbank auf dem Handy die ein paar Benutzereingaben speichert... Ciao Stefan |
AW: SQLite verfälscht Umlaute
Hallöle...:P
Zitat:
PS: Hinterlege mal deine Delphi Version im Profil... Danke. :wink: |
AW: SQLite verfälscht Umlaute
Delphi-Version ist im Profil hinterlegt :)
Was mir jetzt noch aufgefallen ist: Im SQLite-Admin sind die Umlaute falsch, DB-Browser for SQLite richtig! Lese ich aber den Inhalt eines Feldes (FDQuery.FieldByName('Benutzer').asString) aus kommen die falschen Umlaute zurück... Ciao Stefan |
AW: SQLite verfälscht Umlaute
Es kommt noch schlimmer:
Nach dem Import der Daten (sie oben INSERT...) steht in der Datenbank "Hakennägel 50 mm" lese ich das aus sieht es im Debugger in der IDE sauber aus ("Hakennägel") und schreibe genau dieses wieder woanders in die Datenbank, wird daraus "Hakennägel 50 mm" Der DB Browser für SQLite zeigt an dieser Stelle "Hakennägel 50 mm" an. Ich kenne mich bei der ganzen Codepage-Geschichte nicht aus und brauche dringend Hilfe! Ich mach scheinbar generell etwas falsch, aber was? Ciao Stefan |
AW: SQLite verfälscht Umlaute
Es gibt wahrscheinlich keinen Zaubertipp, mit dem auf einen Schlag alles richtig erscheint.
Problematik: Jedes Tool (kann) macht es anders mit der Codierung. Je mehr Varianten Du probierst, desto mehr Varianten werden Dir vermutlich angezeigt. Prinzip: Ein Tool, eine Codierung, writeToDB, readFromDB, eine Codierung, Ausgabe (Darstellung) entspricht Eingabe. Dieses Prinzip kann bereits gebrochen werden, wenn das eine Tool eine ungewöhnliche, falsche Codierung verwendet, die andere Tools nicht können/unterstützen. Um aus der Nummer rauszukommen, startest Du mit einer leeren SQLite Datei und einem ordentlichen Tool. Datenbefüllung durchführen, Codierung prüfen, Abruf prüfen. Wenn das richtig und konstitent ist und auch für wirkliche Unicode Zeichen funktioniert, dann hängst Du Dein Programm dran. Verdächtig in dem Programm sind jegliche Codeteile, die "manuelles" Stringhandling machen, aber singlebyte basiert sind. Außerdem verdächtig sind Darstellungen, die keine Unicode fähigen Anzeigekomponenten und Character Sets(!) verwenden. Letzteres bedeutet nur, dass zwar alles richtig verarbeitet wird, die reine Darstellung in Deinem Programm aber nicht funktioniert. |
AW: SQLite verfälscht Umlaute
Nun ja, im Prinzip habe ich das ja nun mehrfach durch
- leere Datenbank - Füllen per viele "INSERT..." in meinem Programm - Lesen aus der Datenbank (Debugger zeigt "Hakennägel") - Schreiben von "Hakennägel" - zurücklesen "Hakennägel" alles mit der gleichen TFDConnection und TFDQuery Ciao Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz