mysqldump Umlaute

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

mysqldump Umlaute

Postby djm03 » 13. January 2005 04:17

Hallo,

wenn ich mysqldump.exe -uuser -ppw test ausführe, werden mir die Umlaute kodiert dargestellt:

-- MySQL dump 10.9
--
-- Host: localhost Database: test
-- ------------------------------------------------------
-- Server version 4.1.8-nt-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE="NO_AUTO_VALUE_ON_ZERO" */;

--
-- Table structure for table `test`
--

DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
`aaa` varchar(15) collate latin1_general_ci NOT NULL default '',
`id` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

--
-- Dumping data for table `test`
--


/*!40000 ALTER TABLE `test` DISABLE KEYS */;
LOCK TABLES `test` WRITE;
INSERT INTO `test` VALUES ('öÖöä',0);
UNLOCK TABLES;
/*!40000 ALTER TABLE `test` ENABLE KEYS */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Ich hab schon die Einstellung des Charsets in der my.ini auf

character-set-server = latin1
collation-server = latin1_general_ci

geändert, bringt leider nichts.

Weiß jemand Rat?

Danke, Mario
djm03
 
Posts: 6
Joined: 13. January 2005 04:09

Postby Rolidor » 13. January 2005 11:32

Hi.

Möglicherweise liegt es daran:
--default-character-set=charset
Use charset as the default character set. See section 5.8.1 The Character Set Used for Data and Sorting. If not specified, mysqldump from MySQL 4.1.2 or later uses utf8; earlier versions use latin1.


Schätze, dass du für mysqldump den Zeichensatz auf der Kommandozeile angeben musst...

Gruß
Rolo
Rolidor
 
Posts: 406
Joined: 20. April 2004 10:17
Location: Dreieich - Hessen

Re: mysqldump Umlaute

Postby Wiedmann » 13. January 2005 13:32

-- Server version 4.1.8-nt-log

Welchen XAMPP hast du? Beim aktuellen sollte da eigentlich "-- Server version 4.1.8" stehen.

Ich hab schon die Einstellung des Charsets in der my.ini auf
Code: Select all
character-set-server = latin1
collation-server = latin1_general_ci

geändert, bringt leider nichts.

Der XAMPP benutzt eigentlich die Datei "my.cnf" ("\xampp\mysql\bin") und da sind diese Einträge bereits vorhanden.

(Hast du MySQL als Dienst installiert und benutzt die "winmysqladmin.exe"?)

INSERT INTO `test` VALUES ('öÖöä',0);

Yup. das sieht nach UTF-8 aus, und dein Editor mit dem du das anschaust erkennt das wohl nicht (oder kann's nicht).

Weiß jemand Rat?

Kommt darauf an. Wo liegt denn dein Problem?

In einen MySQL 4.1.x kannst du diesen Dump ohne Probleme einspielen. Willst du das in einen MySQL 4.0.x importieren, musst du bei mysqldump.exe noch zusätzlich folgende Parameter mit iangeben:
--default-character-set=latin1 --compatible=mysql40
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby djm03 » 13. January 2005 14:00

Hallo,

genau das wars:

--default-character-set=charset

Geht jetzt, Danke :)

Sicher kann man den Dump jederzeit wieder einspielen, sah halt nur bisschen unleserlich aus.

Meine Version ist die AMPP Version 1.4.11 [PHP: 5.0.3] (letzte Woche per Installer von eurer HP installiert).

Bei mir wird die my.ini unter c:\winnt genutzt. Zumindest wird mir diese im winmysqladmin angezeigt. Und ja, läuft als Dienst.

Was mit jetzt noch aufgefallen ist: Wenn ich die Exportfunktion von PHPMyAdmin nutze, und eine CSV-Datei für Excel erstelle, dann sind die Umlaute genauso unleserlich.

Das liegt dann wohl daran das Excel nichts mit UTF8 anfangen kann?

Grüße, Mario
djm03
 
Posts: 6
Joined: 13. January 2005 04:09

L

Postby Wiedmann » 13. January 2005 14:27

Sicher kann man den Dump jederzeit wieder einspielen, sah halt nur bisschen unleserlich aus.

Wenn man diesen Dump wieder in einen MySQL 4.1.x einspielt benötigt man diesen Parameter nicht. In der DB landet alles im richtigen Format und Darstellung.

Das du den mit einem Editor wohl nicht anschauen kannst, ist hier eigentlich uninteressant.... *g*.
Selbst mit dieser Einstellung wirst du nicht alle Zeichen richtig sehen können...

Bei einem Import in einen MySQL 4.0.x langt dieser eine Parameter wie gesagt nicht.

Wenn ich ... eine CSV-Datei für Excel erstelle, dann sind die Umlaute genauso unleserlich.

Wenn du die CSV-Datei in Exel importierst (nicht in Excel direkt öffnest) hast du kein Problem.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby djm03 » 13. January 2005 14:46

Danke für die Erläuterung :)

Der Import bei Excel (2000) klappt jedoch nicht. Über Daten, Externe Daten, Textdatei importieren kann ich zwar einen Zeichensatz wählen, jedoch ist da auch nur ANSI verfügbar.

Aber halb so wild, denke mal ich komme erstmal so zurecht.

Danke, Mario
djm03
 
Posts: 6
Joined: 13. January 2005 04:09

Postby Wiedmann » 13. January 2005 15:13

Stimmt, mein Excel ist neuer und bietet da von vorneherein UTF-8 an.

Abgesehen davon versteh ich eh nicht ganz, wieso phpMyAdmin da UTF-8 exportiert, obwohl die Datenbank ja eindeutig auf Latin1 eingestellt ist. Die Charsets haben die Macher irgendwie noch nicht im Griff...

BTW:
CSV-Dateien lassen sich auch mit "mysqldump.exe" erzeugen. Damit sollte es ja dann auch wieder mit Excel klappen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby djm03 » 13. January 2005 15:48

Ich hab bei mir nun wieder alles auf UTF8.

Aber glaube wo ich Zwischenzeitlich auf Latin1 umgestellt hatte, wurde der Export per PHPMyAdmin auch in UTF8 ausgeführt.
djm03
 
Posts: 6
Joined: 13. January 2005 04:09


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 5 guests