Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Umlaute in Feldnamen werden nicht importiert - bricht ab (https://www.delphipraxis.net/204274-umlaute-feldnamen-werden-nicht-importiert-bricht-ab.html)

mcinternet 13. Mai 2020 12:12

Datenbank: mysql • Version: 8 • Zugriff über: MyDAC

Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Hallo die Gemeinde,

auf einmal klappt was nicht mehr, was bisher immer funktionierte: Ein größerer Import einer Produktivdatenbank, welche auf einem Linux-System läuft. Diese ist etwas älter. Damit komme ich mit der MySQL-Workbench nicht drauf. Sie ist wohl zu alt. (Zugangsdaten stimmen, mit Delphi Rio komme ich lesend - schreibend will ich gar nicht! - dran).

hier einmal der Code, der beim Export rauskommt: - dort finde ich ein Feld mit Umlaut im Namen (was bisher kein Problem war). => Am_Prüffrequ

Code:

Code:
CREATE TABLE `ARBEITSPLSOLLMASS` (
  `ID` int(11) NOT NULL auto_increment,
   ...<snip>...
  `Am_Prüffrequ` varchar(10) NOT NULL default 'PA04',
  ...<snip>...
  PRIMARY KEY (`ID`),
  KEY `idx_Art_AG` (`Am_Artikelnr`,`Am_Agang`),
  KEY `idx_prBez` (`Am_Agang`,`Am_Artikelnr`,`Am_Bezeichnung`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

ich habe nun Test-DBs erstellt, welche folgende Zeichensätze können:

utf8mb4
latin1
latin1_german2_ci

bei allen bricht der Import mittels Workbench und auch per Delphi ab.
Auch werden nach dem Import die Umlaute in den Feldern nicht mehr korrekt dargestellt. Mein Entwicklungsrechner (Hyper-V VM) hat sich nicht verändert.

Vielleicht hat ja jemand von Euch eine Idee?

beste Grüße aus dem Odenwald

mcinternet

tshubaka 13. Mai 2020 12:21

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Hallo,
ich benutze nie Umlaute, versuche mal ein ü auf der englischen tastatur zu finden?
auch alle unsere E_Mail Adressen sind ohne Umlaute!
aus Müller wird Mueller

Grüsse

mcinternet 13. Mai 2020 12:23

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Zitat:

Zitat von tshubaka (Beitrag 1464465)
Hallo,
ich benutze nie Umlaute, versuche mal ein ü auf der englischen tastatur zu finden?
auch alle unsere E_Mail Adressen sind ohne Umlaute!
aus Müller wird Mueller

Grüsse

Das ist leider die Antwort, die ich nicht gebrauchen kann. Denn das Produktivsystem läuft seit 20 Jahren damit und das neue System muss auch damit laufen.

beste Grüße

mcinternet

tshubaka 13. Mai 2020 12:37

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Versuche mal das Am_Prüffrequ in [Am_Prüffrequ] zu ändern.

Grüsse

mcinternet 13. Mai 2020 12:46

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Zitat:

Zitat von tshubaka (Beitrag 1464468)
Versuche mal das Am_Prüffrequ in [Am_Prüffrequ] zu ändern.

Grüsse

Bringt nix, zudem werden weit über 100 Tabellen exportiert und ins Entwicklungssystem importiert. Ich kann da nicht alles händisch korrigieren. Der Import muss automatisch so durchlaufen. Es geht nicht nur um ein Feld, sondern auch um die ganzen Beziehungen der Tables untereinander.

Gruss

mcinternet

Delphi.Narium 13. Mai 2020 12:48

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Gibt's beim Abbruch denn den Ansatz einer Fehlermeldung?

Wenn ja, wie lautet die?

himitsu 13. Mai 2020 12:50

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Das Encoding (CHARSET) der Tabelle passt ja schonmal,
aber wie sieht es mir dem DefaultEncoding der Datenbank aus und vorallem dem Encoding für die Connection.

Auch zu beachten, wenn die Dateien kein BOM besitzen und z.B. beim Importtool nichts Abweichendes explizit angegeben wurde,
dann wird im Windows meistens ANSI benutzt, aber im Linux wird oft UTF-8 genommen.

Dieses ANSI-Char als Byte würden dann ein "ungültiges" Byte für einen UTF-8-Char ergeben.

Für ANSI gibt es keinen BOM.
Tipp: SQL-Dateien besser immer als UTF-8 speichern, oder anschließend konvertieren.
Ich würde da zwar UTF-8 mit BOM empfehlen, wenn es keine Probleme gibt, aber blöder Weise kommen manche SQL-Tools im Linux mit BOM nicht klar (erkennen es dann als Zeichen, welches es zwar auch ist, aber das eigentlich beim Import entfernt/ignoriert werden sollte).

mcinternet 13. Mai 2020 12:51

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1464471)
Gibt's beim Abbruch denn den Ansatz einer Fehlermeldung?

Wenn ja, wie lautet die?

ERROR 1300 (HY000) at line 191992: Invalid utf8 character string: 'Am_Pr\xFCffrequ'

Operation failed with exitcode 1
13:50:16 Import of D:\Projekte\Neuentwicklung\bin\Win64\Release\dumpc ompleteexport.sql has finished with 1 errors

beste Grüße

mcinternet

mcinternet 13. Mai 2020 12:55

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Zitat:

Zitat von himitsu (Beitrag 1464472)
Das Encoding (CHARSET) der Tabelle passt ja schonmal,
aber wie sieht es mir dem DefaultEncoding der Datenbank aus und vorallem dem Encoding für die Connection.

Auch zu beachten, wenn die Dateien kein BOM besitzen und z.B. beim Importtool nichts Abweichendes explizit angegeben wurde,
dann wird im Windows meistens ANSI benutzt, aber im Linux wird oft UTF-8 genommen.

In der Connection ist KEIN Charset angegeben.

Ich verfolge da jetzt mal den Ansatz und teste.

Gruss

mcinternet

Sherlock 14. Mai 2020 07:25

AW: Umlaute in Feldnamen werden nicht importiert - bricht ab
 
Off-Topic: Hast Du wenigstens schon das Kreuz parat, an dem der abenteuerlustige Mensch fachmännisch befestigt werden kann, der sich überlegt hat, Umlaute seien eine feine Sache als Feldname? Ich würde nichtmal heute in Delphi auf die Idee kommen, Umlaute als Bezeichner zu verwenden, und dabei geht das schon seit mindestens 10 Jahren.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz