Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   firebird und charset mit Umlauten (https://www.delphipraxis.net/125817-firebird-und-charset-mit-umlauten.html)

khh 12. Dez 2008 14:06

Datenbank: firbird • Version: 2.1 • Zugriff über: ZEOS

firebird und charset mit Umlauten
 
hallo zusammen,
ich habe in firebird eine db mit charset utf8
der ZEOS TZConnection habe ich mit :

Properties.Clear;
Properties.Add('codepage=utf8');

diesn zeichenstaz zugewiesen.

Trotzdem werden mir Feldwerte die Umlaute enthalten in den zugewiesenen Anzeigefeldern, also dropdown, editfed usw.
einfach unterschlagen, also überhaupt nicht angezeigt.

Was kann die Ursache sein ?

EDIT: habe gerade festgestellt, dass das nur so ist, wenn die Umlaute direkt in der DB-Oberfläche eingegeben werden.
über ZEOS eingefügte Werte werden im editmodus von IBexpert so:
üäo

dargestellt

Gruss KH

mkinzler 12. Dez 2008 14:14

Re: firebird und charset mit Umlauten
 
In welcher Oberfläche?

khh 12. Dez 2008 14:16

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
In welcher Oberfläche?

im IBexpert

EDIT: und auch in einer Abfrage über Flamerobin

mkinzler 12. Dez 2008 14:21

Re: firebird und charset mit Umlauten
 
Was für einen Zeichensatz hat das Feld in der Tabelle?

khh 12. Dez 2008 14:26

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Was für einen Zeichensatz hat das Feld in der Tabelle?

haben alle NONE

mkinzler 12. Dez 2008 14:28

Re: firebird und charset mit Umlauten
 
Da musst du natürlich auch eine Unicodefähigen Zeichensatz auswählen

khh 12. Dez 2008 14:32

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Da musst du natürlich auch eine Unicodefähigen Zeichensatz auswählen


nur für die entsprechenden felder oder für die ganze tabelle?

Jürgen Thomas 12. Dez 2008 14:34

Re: firebird und charset mit Umlauten
 
Die Personal Edition von IBExpert kann in der eigenen Oberfläche keine Unicode-Zeichen verarbeiten. In diesem Fall kannst Du in IBExpert nur "einfache" ASCII-Zeichen eingeben; Unicode-Zeichen müssen vom Programm aus gesetzt werden.

Jürgen

khh 12. Dez 2008 14:37

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von Jürgen Thomas
Die Personal Edition von IBExpert kann in der eigenen Oberfläche keine Unicode-Zeichen verarbeiten. In diesem Fall kannst Du in IBExpert nur "einfache" ASCII-Zeichen eingeben; Unicode-Zeichen müssen vom Programm aus gesetzt werden.

Jürgen

na da haben wir ja schon evtl. des Rätsels Lösung, wenn das auch auf die CT-Version zutrifft.

mkinzler 12. Dez 2008 14:40

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von khh
Zitat:

Zitat von Jürgen Thomas
Die Personal Edition von IBExpert kann in der eigenen Oberfläche keine Unicode-Zeichen verarbeiten. In diesem Fall kannst Du in IBExpert nur "einfache" ASCII-Zeichen eingeben; Unicode-Zeichen müssen vom Programm aus gesetzt werden.

Jürgen

na da haben wir ja schon evtl. des Rätsels Lösung, wenn das auch auf die CT-Version zutrifft.

Die c't Version ist eine eingeschränkte Vollversion

khh 12. Dez 2008 14:44

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Zitat:

Zitat von khh
Zitat:

Zitat von Jürgen Thomas
Die Personal Edition von IBExpert kann in der eigenen Oberfläche keine Unicode-Zeichen verarbeiten. In diesem Fall kannst Du in IBExpert nur "einfache" ASCII-Zeichen eingeben; Unicode-Zeichen müssen vom Programm aus gesetzt werden.

Jürgen

na da haben wir ja schon evtl. des Rätsels Lösung, wenn das auch auf die CT-Version zutrifft.

Die c't Version ist eine eingeschränkte Vollversion

ja, und sollte die das können oder nicht ?

mkinzler 12. Dez 2008 15:13

Re: firebird und charset mit Umlauten
 
Eigentlich ja, aber nur wenn Feldtyp entsprechend gesetzt wird

khh 12. Dez 2008 15:20

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Eigentlich ja, aber nur wenn Feldtyp entsprechend gesetzt wird


nachträglich scheint das aber nicht mehr zu gehen, der Type wird von der Oberfläche nach dem commit von selbst wieder zurück gesetzt .-(

mkinzler 12. Dez 2008 15:22

Re: firebird und charset mit Umlauten
 
Also bei mir funktioniert das :gruebel:

khh 12. Dez 2008 15:32

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Also bei mir funktioniert das :gruebel:

mh kannst mir mal sagen wie?

mkinzler 12. Dez 2008 15:36

Re: firebird und charset mit Umlauten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Einfach Domäne anpassen

khh 12. Dez 2008 15:46

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Einfach Domäne anpassen

super so gehts, wenn auch mühsam wenn alle betroffenenfelder manuell geändert werden müssen.

Was für nen Zeichensatz empfiehlst du denn, den ZEOS auch kann?

mkinzler 12. Dez 2008 15:48

Re: firebird und charset mit Umlauten
 
Du verwendest ja UTF-(, dann würde ich auch diesen Typ nehmen.
Du könntest deinen Datebank als Skript exportieren lassen und dort die Zeichensatzangaben ersetzen lassen

khh 12. Dez 2008 15:51

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Du verwendest ja UTF-(, dann würde ich auch diesen Typ nehmen.
Du könntest deinen Datebank als Skript exportieren lassen und dort die Zeichensatzangaben ersetzen lassen

das mit dem Script werd ich machen.
wenn ich aber utf-8 nehme krieg ich bei der Eingabe von Umlauten in der DB-Oberfläche die Meldung :
Invalid token.
Malformed string.


:-(

khh 12. Dez 2008 16:03

Re: firebird und charset mit Umlauten
 
wenn ich die werte über den unicode-editor von IBexpert eingebe danngeht es.
jetzt habe ich aber ein anderes Problem :-(

wenn ich das einzelne Feld von none auf utf-8 setze geht meine Query in den exeptblock :-(

EDIT: ESQL-Exception
arithmetic exception, numeric overflow or string truncation Error code -802
ari^thmetic overflow oder divison durch null

mist

mkinzler 12. Dez 2008 16:05

Re: firebird und charset mit Umlauten
 
Und mit welcher Meldung? Wie greifst du in Zeos zu? Als Unicode?

khh 12. Dez 2008 16:09

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Und mit welcher Meldung? Wie greifst du in Zeos zu? Als Unicode?

medlung hab ich grad oben nachgetragen
zeos habe ich die verbindung so eingestellt:
Properties.Add('codepage=utf8');
welche unicode einstellungen meinst du ?

mkinzler 12. Dez 2008 16:17

Re: firebird und charset mit Umlauten
 
Wie liest du die Werte aus?

khh 12. Dez 2008 16:22

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Wie liest du die Werte aus?

mit einer Zquery select....
beim open bekomme ich die exception

mkinzler 12. Dez 2008 16:29

Re: firebird und charset mit Umlauten
 
Da scheinet er Probleme mit dem Inhalt in der Tabelle zu haben

khh 12. Dez 2008 16:33

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Da scheinet er Probleme mit dem Inhalt in der Tabelle zu haben

es ist aber egal ob in den Inhalten Umlaute enhalten sind, oder nicht
sobald ich nur ein feld der tabelle von none auf utf-8 umstelle krachts.

mkinzler 12. Dez 2008 16:37

Re: firebird und charset mit Umlauten
 
Es muss ja nicht nur an den Umlauten liegen, am Inhalt allgemein. Versuch mal Backup/Restore oder Export in Skript

khh 12. Dez 2008 16:52

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Es muss ja nicht nur an den Umlauten liegen, am Inhalt allgemein. Versuch mal Backup/Restore oder Export in Skript

backup aus IBexpert läuft durch
ein restore bringt folgende meldung :

IBE: Starting restore. Current time: 16:45:56
IBE: Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
requires both input and output filenames.
IBE: Restore completed. Current time: 16:45:56. Elapsed time: 00:00:00

mkinzler 12. Dez 2008 16:54

Re: firebird und charset mit Umlauten
 
Restore muss vom Rechner, auf dem das DBMS läuft aus erfolgen

khh 12. Dez 2008 17:03

Re: firebird und charset mit Umlauten
 
Zitat:

Zitat von mkinzler
Restore muss vom Rechner, auf dem das DBMS läuft aus erfolgen

ok, ich habe die backupdatei auf einen anderen rechner geschoben und das restore in die dort vorhandene db eigespielt.
Mit der Option "existierende db ersetzen" lief das restore fehlerlos durch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 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