Wie kann ich eine Unicode-Textdatei (UTF-16) als Datenquelle für Base unter Linux benutzen?

Als Zeichensatz finde ich in der Auswahl-Liste kein UTF-16, nur UTF-7 oder UTF-8, damit bekomme ich nur Unsinn angezeigt und nicht die Inhalte. file klassifiziert die Textdatei als “Little-endian UTF-16 Unicode text, with CRLF, CR line terminators”. Die Datei selbst kann nicht konvertiert werden, da sie auf einer Windows-Share liegt und unter Windows laufend aktualisiert wird. Das System, unter dem diese Textdatei als Datenbank verwendet werden soll, ist Ubuntu 14.04 LTS 32bit.

Mit UTF-16 geht es nicht mit der eingebauten Engine. Du wirst dich nach einer externen Datenbank umsehen müssen. HSQL kann leider externe Textdateien mit UTF-16 auch nicht. Hast du Einfluss darauf, in welchem Format die Textdatei produziert wird? Vielleicht gibt es die Möglichkeit parallel auch einen UTF-8 Output zu erzeugen? Wie oft wird aktualisiert? Eventuell kannst du ein Skript dazwischen schieben, das von UTF-16 nach UTF-8 konvergiert und das regelmäßig läuft?

Wenn du unter Tools > Options > LibreOffice > Advanced die “Experimental Features” einschaltest, dann steht dir bei der “embedded database” nicht nur HSQL sondern auch Firebird zur Verfügung. Auch Firebird kennt “create table external file”. Ich weiß allerdings nicht, ob dort UTF-16 möglich ist und welche Datentypen unterstützt werden. Ich weiß auch nicht, ab welcher Version LO auch Firebird unterstützt und wie weit. Aber du könntest es mit einem “daily”-Build einfach ausprobieren. Ein solcher lässt sich als LibreOfficeDev parallel zur Produktiv-Version installieren.

Danke für die Antwort, das hatte ich befürchtet. Man kann natürlich lokal eine passende Datei mit “recode UTF-16LE…UTF-8 < servermount/utf16,txt > localdir/utf8.txt” erzeugen und als Datenquelle verwenden, aber die Synchronisation ist unbefriedigend - da bleibt nur regelmäßiges Pollen, ob sich die Quelldatei geändert hat. Vermutlich wäre es für die Entwickler kein allzu großer Aufwand, der eingebauten Text-Engine auch UTF-16 beizubringen? Unicode (UTF-16LE) ist unter Windows der Normalfall …