 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
31.12.2005, 16:04
|
#1
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
mySQL - Das Problem mit den Umlauten
Hallo,
beim exportieren und importieren von mySQL Datenbanken stosse ich immer wieder auf das Problem das die Umlaute nicht dargestellt werden (stattdessen werden Hieroglyphen angzeigt).
Momentan tritt das Problem gleich beim exportieren auf:
Ich habe XAMPP für Windows Lite Version 1.5.0 local installiert (MySQL 5.0.15, phpMyAdmin 2.6.4). Wenn ich darin eine Datenbank mit GZIP exportiere, dann ist die darin enthaltene sql-Datei immer fehlerhaft, d.h. die Umlaute werden nicht dargestellt.
In phpmyadmin sind folgende Einstellungen wirksam:
a) Language: German (de-utf-8 )
b) MySQL-Zeichensatz: UTF--8 Unicode (utf8 )
c) Zeichensatz / Kollation der MySQL Verbindung: utf8_general_ci (ich habe auch latin1_german1_ci getestet).
a) und c) kann ich verändern (DropDownmenü), b) jedoch nicht (warum?)
welcher der drei Einstellungen ist denn eigentlich nun wichtig?
Warum werden die Umlaute nicht richtig dargestellt? Ich dachte der Unicode beherrscht die Umlaute????
Ich bin einfach ratlos (und genervt).
|
|
|
01.01.2006, 03:36
|
#2
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Tja, willkommen im Club.
Das Problem ist nicht so ganz einfach und bisher habe auch ich noch keine wirkliche Erklärung dazu gefunden.
Zitat:
|
Zitat von dieter99
Warum werden die Umlaute nicht richtig dargestellt? Ich dachte der Unicode beherrscht die Umlaute????
|
Was ich aber weiß ist, dass die Einstellung des Zeichensatzes der Seite das Ergebnis beeinflusst.
Wenn die Webseite auf z.B. Iso 8859-1 eingestellt ist und Du zeigst dann Daten aus der DB mit UTF-8 an, dann beißt sich das ja.
Wenn also UTF-8 in der Db gespeichert ist und Du sagst dem Browser, jetzt kommen ISO 8859-Inhalte, dann kommt es zu den Darstellungsfehlern.
Das muss also zusammenpassen.
Passt denn der Zeichensatz der Webseite und der DB-Inhalte bei Dir zusammen?
|
|
|
01.01.2006, 12:14
|
#3
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Zitat:
|
Zitat von DSB
Passt denn der Zeichensatz der Webseite und der DB-Inhalte bei Dir zusammen?
|
Ich habe das Problem schon bevor ich den Inhalt auf einer Webseite darstelle.
Ich exportiere eine Datenbank, und wenn ich anschließend in der GZIP-Datei die sql-Datei öffne (mit dem Editor z.B.), dann werden bereits dort (also in der sql-Datei) die Umlaute falsch dargestellt.
|
|
|
01.01.2006, 12:17
|
#4
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Auch hier könnte das gleiche Problem existieren.
Als was interpretiert das der Editor?
Weiß er, dass es sich um UTF-8 handelt?
|
|
|
01.01.2006, 12:34
|
#5
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Hi,
um ein klein wenig Licht ins dunkel zu bekommen:
Du hast auf Deinem Rechner die DB mit utf-8. Um das auf MySQL<4.1 zu exportieren, wird das nur funktionieren, wenn die ebenfalls utf-8 beherrscht. Das ist in der Regel nicht der Fall. Der Standard-Zeichensatz ist hier latin1_general_ci (Der Zeichensatz von MySQL ist einkompiliert und lässt sich nicht ändern).
Dir wird in dem Fall nur der Weg bleiben, alle Tabellen Deiner DB nach latin1 zu konvertieren und dann erst zu exportieren.
|
|
|
01.01.2006, 12:41
|
#6
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Zitat:
|
Zitat von St@eff.en
Dir wird in dem Fall nur der Weg bleiben, alle Tabellen Deiner DB nach latin1 zu konvertieren
|
Wie macht man das am besten?
Reicht es in z.B. phpMyAdmin den Zeichensatz umzustellen und MySQL wandelt dann die bestehenden Inhalte der Datenbank um, oder muss man sich eine Routine programmieren die die Datensätze einzeln ausliest, konvertiert und dann wieder speichert?
|
|
|
01.01.2006, 13:12
|
#7
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
In einer DB > 4.1 reicht es, die Tabellen zu konvertieren, <4.1 geht das nicht.
Es geht auf keinen Fall on-the-fly beim Exportieren.
|
|
|
01.01.2006, 13:33
|
#8
|
|
TP-Veteran
Registriert seit: Feb 2002
|
Ich gehe immer folgenden Weg:
- Die Inhalte in eine Textdatei exportieren (Die Inhalte sind nun UTF  . Z.B. mit PHPmyAdmin, mysqldump oder mySQLDumper 
- Den Dump mit dem Windows Notepad/Editor öffnen und neu speichern. Dabei als Codierung ANSI wählen.
Nun kannst Du die Datei in eine alte mySQL DB einspielen.
Unter Linux kann man die Datei - glaube ich - mit iconv konvertieren.
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
|
|
|
01.01.2006, 20:12
|
#9
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Zitat:
|
Zitat von St@eff.en
Hi,
um ein klein wenig Licht ins dunkel zu bekommen:
Du hast auf Deinem Rechner die DB mit utf-8. Um das auf MySQL<4.1 zu exportieren, wird das nur funktionieren, wenn die ebenfalls utf-8 beherrscht. Das ist in der Regel nicht der Fall. Der Standard-Zeichensatz ist hier latin1_general_ci (Der Zeichensatz von MySQL ist einkompiliert und lässt sich nicht ändern).
Dir wird in dem Fall nur der Weg bleiben, alle Tabellen Deiner DB nach latin1 zu konvertieren und dann erst zu exportieren.
|
Hallo Steffen!
mir sind immer noch einige Sachen unklar. Du schreibst das die Datenbank den UTF-8 Zeichensatz hat, und mySQL muss ebenfalls UTF-8 beherrschen. Ich dachte mySQL ist die Datenbank?!???
Ich habe eingangs geschrieben das im phpMyAdmin folgende Einstellungen wirksam sind:
a) Language: German (de-utf-8 )
b) MySQL-Zeichensatz: UTF--8 Unicode (utf8 )
c) Zeichensatz / Kollation der MySQL Verbindung: utf8_general_ci (bzw. latin1_german1_ci getestet).
Trotz dieser Einstellungen ist der Standard-Zeichensatz (lt. Steffen) latin1_general_ci. Für was sind die Einstellungen a) b) und c) eigentlich gut, wenn im "Hintergrund" eh alles mit latin1_general_ci läuft?
Sorry, aber ich verstehe nur Bahnhof.
Ich bin erstaunt das es trotz des ständigen Fortschritts so umständlich ist die Umlaute darzustellen. Ich möchte doch nur die Dateien exportieren.
|
|
|
01.01.2006, 20:19
|
#10
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Zitat:
|
Zitat von St@eff.en
In einer DB > 4.1 reicht es, die Tabellen zu konvertieren, <4.1 geht das nicht.
Es geht auf keinen Fall on-the-fly beim Exportieren.
|
Noch ne dumme Frage: wie konvertiere ich die Tabellen?
|
|
|
01.01.2006, 20:41
|
#11
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
wie das in phpmyadmin geht - kA
mit mysqldumper kannst Du es unter Tabellenstruktur
allgemein geht das so:
ALTER TABLE `tabelle` DEFAULT CHARSET=latin1, COLLATE latin1_general_ci
|
|
|
02.01.2006, 18:33
|
#12
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Über google habe ich nach Lösungen gesucht und bin dabei auf viele andere Foren gestoßen. Ich muss feststellen das viele User das gleiche Problem haben und manche User trotz diverser Hilfestellungen auch nicht weiterkommen.
In einem Forum schrieb ein User das phpMyAdmin einfach Schrott sei, dass es einfach nicht das macht was es machen soll. Man soll die Finger davon lassen. Nachdem ich diesen Beitrag gelesen hatte bin ich auf mysqldumper umgestiegen. Das Ergebnis: das Problem mit den Umlauten hat sich in Luft aufgelöst (und das obwohl ich keine einzige Zeichensatz-Einstellung gemacht habe!!!!).
Des weiteren hat sich das Problem gelöst das die Wiederherstellung von Backups mit einem Timeout abbricht.
Ich muss sagen: ich bin von mysqldumper einfach begeistert! Ich werde ab sofort nicht mehr auf phpMyAdmin zurückgreifen (das Teil ist anscheinend wirklich Schrott!!!!)
Nochmal danke an alle die mich eifrig unterstützt haben!!!!
|
|
|
02.01.2006, 18:36
|
#13
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Hach, wenn Du wüsstest wie sehr Du mir aus der Seele sprichst.
Wobei "Schrott" schon eine sehr harte Bezeichnung ist.
Zu phpMyAdmin gab es nur bisher nur keine vernünftige Alternative und so musste man sich zwangsläufig mit der nicht gerade userfreundlichen Bedienung beschäftigen.
Wir versuchen das natürlich besser zu machen, aber das ist tatsächlich nicht leicht.
Die User sind vom Wissensstand her sehr unterschiedlich. Man kann für manche Zusammenhänge, die etwas Grundwissen vorraussetzen einfach keine one-click-Bedienung machen.
Aber wir arbeiten dran. *g*
Geändert von DSB (02.01.2006 um 18:45 Uhr).
|
|
|
03.01.2006, 06:29
|
#14
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
@DSB: bist du im Projekt mysqldumper wohl mit eingebunden?
|
|
|
03.01.2006, 07:52
|
#15
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Kann man so sagen.
Ich bin der Papa des Dumpers.
Außerdem bin ich Chief Senior Web Application Mainstream Framework Consultant Assistant of Incoming and Outgoing Sourcecode Developement und betätige mich im Supportboard als Main Assistant Communication Analyst mit der Fachrichtung Fast Growing Low Level Inputs of Senseless Data.
Ich habe aber noch ein paar weitere Ämter dessen Namen ich gerade vergessen habe.
Ich kann aber mal eben meine Vistitenkarte holen - die steht in der Garage (also in meiner und der vom Nachbarn - ich musste einen Durchbruch machen). 
Geändert von DSB (03.01.2006 um 08:08 Uhr).
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:22 Uhr.
|
 |