SQLite3, Problem mit Umlauten bei Tabellenausgabe mittels SQLite3-CLI

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallihallo,

    ich habe ein kleines Problem mit SQLite3 im Zusammenhang mit Umlauten bzw. Sonderzeichen.

    Wenn ich im Command-Line-Interface von SQLite3 unter Raspbian in der Konsole folgende Befehlsfolge eingebe:

    Code
    pragma encoding = "UTF-16";
    create table personen (name text);
    insert into personen (name) values ("Müller"),("Muller");
    .mode column
    .header on
    .width -10
    select * from personen;

    Dann erhalte ich Folgendes als Ausgabe:

    Code
          name
    ----------
       Müller
        Muller

    Sobald ich ein Wort speichere, das Umlaute oder Sonderzeichen (z.B. ß) enthält, wird das Wort nicht rechtsbündig (wegen des negativen Wertes bei .width) ausgerichtet. Ich habe das Selbe probiert

    - in der Konsole auf der Raspbian-GUI, sowie

    - in einer virtuellen Konsole (Tastenkombination STRG+TAB+F1).

    Beide Male derselbe Effekt.

    Auch Versuche mit UTF-8 statt UTF-16 brachten nichts.

    Darüber hinaus habe ich auf einem Windows-Rechner das Beispiel unter der Windows-Version von SQLite3 nachvollzogen. Dort waren die Worte alle korrekt rechtsbündig ausgerichtet.

    Auch wenn ich mich von Windows8.1 über die Putty-Konsole mit dem Raspberry Pi verbunden habe, war die fehlerhafte rechtsbündige Ausrichtung reproduzierbar.

    Hat vielleicht jemand noch einen Tipp für mich, woran es vielleicht haken könnte, oder bin ich hier auf einen Bug in SQLite3 gestoßen???

  • SQLite3, Problem mit Umlauten bei Tabellenausgabe mittels SQLite3-CLI? Schau mal ob du hier fündig wirst!

  • Was passiert bei Müüller ? Und Müüüller?

    Ich hab's gerade ausprobiert. Mit rechtsbündiger Ausrichtung wandert es immer weiter nach links, je mehr 'ü' enthalten sind.

    Ist nur komisch, dass es auf meinem Windows-System korrekt funktioniert hat, aber auf Linux machts diese Zicken.

    Ich würde ja mal schwer annehmen, dass sowohl die Linux- als auch die Windows-Executables aus demselben Quellcode erzeugt wurden. Dann sollte auch das selbe Verhalten daraus resultieren. Jedenfalls reagieren andere Open-Source-Programme, z.B. LibreOffice, Gimp oder Inkscape für meine Begriffe plattformübergreifend identisch...

  • Das dürfte ein (Zeichen-) Codierungsproblem sein. Möglicherweise ist auch noch eine NTFS Partition im Spiel, auf der die SQLite-db Dateien abgelegt werden.

    Mit der Google Suche "SQLite Codierung" bekommst Du einige Hinweise zur Diagnose und zur korrekten Ein- Ausgabe, wenn SQLite plattformübergreifend verwendet wird

    Die Windows Version und die *nix Version von SQLite unterscheiden sich gerade in den Bibliotheken und deren Zeichencodierungen. Ein Umstecken der HD mit den Datenbanken vom Pi zum Win-PC dürfte nicht einfach funktionieren, was die Umwandlung der Zeichencodierung betrifft.


    Servus !

    RTFM = Read The Factory Manual, oder so

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!