php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.12.2011, 12:10  
Neuer Benutzer
 
Registriert seit: 27.12.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Romana befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] MySQL-Daten Umlaute reparieren

Hi,

ein netter Mensch hat in eine MySQL-Tabelle mit Latin1-Codierung UTF-8-codierte Zeichen geschrieben. Das bedeutet, daß ich bei Umlauten und dem ß nun jeweils zwei 1-Byte-Zeichen stehen habe, statt dem ISO-8859-1-Zeichen.

Wie kriege ich es hin, diese Daten zu reparieren?

Und damit keiner auf falsche Gedanken kommt: Nein, ich habe diesem netten Menschen keinen Zugang zu der DB verschafft, er hat das vor meiner Zeit versaut...

Äh, wenn ich das Forum nach Umlautproblemen durchsuche, bekomme ich jede Menge Ergebnisse, nur bei den ersten 30, die ich mir angesehen habe, konnte ich mein Problem nicht finden. Falls das schon einmal durchgekaut wurde (was ich mir gut vorstellen kann), dann bitte nicht über die neue Frage böse sein sondern einfach den Link zum entsprechenden Beitrag posten...
Romana ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.12.2011, 12:25  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
Asterixus sorgt für eine eindrucksvolle AtmosphäreAsterixus sorgt für eine eindrucksvolle Atmosphäre
Asterixus eine Nachricht über Skype™ schicken
Standard

Seltsamerweise habe ich gerade einfach das Charset der Felder gewechselt und Latin1 'ä' wurden in UTF8 'ä' geändert nach:
alter table TABELLE change FELD FELD text character set utf8 not null;

Falls das nicht geht, nimm dein Backup und schau dir das an:

http://dev.mysql.com/doc/refman/5.5/...t-convert.html
Asterixus ist offline   Mit Zitat antworten
Alt 27.12.2011, 16:27  
Neuer Benutzer
 
Registriert seit: 27.12.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Romana befindet sich auf einem aufstrebenden Ast
Standard

Na ja, wenn ich in der Tabelle aber statt Köln eben Köln zu stehen habe, nützen mir beide Vorschläge dann nichts mehr. Mein Vorgänger hat UTF-8-Daten einfach so als ISO-8859-1 abgespeichert.

Da wird mit wohl nichts anderes übrig bleiben, als alle Tabellenfelder durchsuchen nach z. B. 'ö' und ersetzen mit 'ö'...

...oder hat jemand einen besseren/schnelleren Vorschlag?
Romana ist offline   Mit Zitat antworten
Alt 27.12.2011, 16:32  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

kannste die daten über Export funktion von Phpmyadmin nach Latin1 exportieren? oder vielleicht SQL anweisung ausführen SET NAMES 'latin1_german1_ci' . wären so die ersten dinge, die ich jetzt erstmal versucht hätte
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 27.12.2011, 17:05  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
Asterixus sorgt für eine eindrucksvolle AtmosphäreAsterixus sorgt für eine eindrucksvolle Atmosphäre
Asterixus eine Nachricht über Skype™ schicken
Standard

Achso. Dann musst du wohl schleifen und utf8_encode auf alle Daten machen.
Asterixus ist offline   Mit Zitat antworten
Alt 27.12.2011, 17:52  
Neuer Benutzer
 
Registriert seit: 27.12.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Romana befindet sich auf einem aufstrebenden Ast
Standard

@Asterixus: Das habe ich befürchtet...

@BlackScorp: In phpMyAdmin habe ich eine solche Option nicht gefunden. Das scheint nur auf der Konsole zu gehen. Aber: Die Daten sind ja schon Latin1, eben vermüllt. Da bekomme ich das ins Dump, was auch in der DB steht, weil die Tabelle ja auch Latin1 ist. Es sind ja immerhin gültige Zeichen, wenn auch nicht die Erwünschten. Auch ein Export nach UTF-8, auf den Du mich damit gebracht hast, scheitert. Und SET NAMES ist ja für die Client-Server-Verbindung ab dem Zeitpunkt, an dem die Variable gesetzt wird. Das hilft zwar, weiteren Müll zu vermeiden, macht den vorhandenen aber nicht brauchbarer...
Romana ist offline   Mit Zitat antworten
Alt 28.12.2011, 17:36  
Erfahrener Benutzer
 
Registriert seit: 03.03.2010
Beiträge: 221
PHP-Kenntnisse:
Fortgeschritten
RustyXXL befindet sich auf einem aufstrebenden Ast
Standard

Wie schauts damit aus nen dump zu machen, diesen im Notepad++ etc konvertieren und anschließend wieder einzuspielen? Damit habe ich mal erfolg gehabt bei einem ähnlichen Problem.
RustyXXL ist offline   Mit Zitat antworten
Alt 28.12.2011, 21:30  
Neuer Benutzer
 
Registriert seit: 27.12.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Romana befindet sich auf einem aufstrebenden Ast
Standard

Ja, das wäre die letzte Möglichkeit gewesen. Allerdings müßte ich das nochmal machen, wenn das System dann wirklich online geht. Bei rund 200.000 Datensätzen in 4 Tabellen mache ich das lieber automatisiert.

Ich habe das jetzt so gelöst, daß ich die Daten per Script in vier Dateien auslese. Diese Dateien lese ich dann per MySQL-Batch (LOAD DATA INFILE...) ein. Komischerweise habe ich die Daten dann genau so, wie ich sie haben will, ohne irgendwelche Konvertierung.

Für mich ist das Problem damit gelöst. Danke an alle für die Ideen.
Romana ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MYSQL Daten via Formular bearbeiten easyhoo PHP Tipps 2009 9 23.11.2010 14:26
[Erledigt] Daten in MYSQL schreiben Desty PHP Tipps 2010 11 30.09.2010 11:23
[Erledigt] MySQL, Spalten umbenennen, was passiert mit Indexen und Daten? Donald Datenbanken 2 09.04.2010 12:42
[Erledigt] Daten aus MySQL Datenbank lesen logicalmind PHP Tipps 2010 25 10.02.2010 22:36
Daten in Mysql über php ändern funzt nicht ganz Rutor PHP Tipps 2009 9 09.01.2010 11:51
Eintragen von Daten per Formular in MySQL Datenbank PHP Tipps 2004 11 07.06.2009 08:58
[Erledigt] Kann keine Umlaute im mysql client eingeben Oger Datenbanken 9 02.04.2009 11:54
[Erledigt] Daten in MySQL einfügen (von XML aus) Sniper_Kotaro Datenbanken 2 10.03.2009 08:14
Mysql daten wieder hochladen Matthiasnet Datenbanken 0 14.08.2006 15:25
*hilfe* Daten in Mysql eintragen DrWeb PHP Tipps 2006 1 26.07.2006 20:30
Mysql Daten zum Tageswechsel aktualisieren PHP Tipps 2006 3 12.06.2006 18:13
Serverumzug - Problem mit MySQL Daten [GE]ReeN Datenbanken 6 28.03.2006 17:02
[Erledigt] Daten aus MySQL in einer zufälligen Reihenfolge ausgeben PHP-Fortgeschrittene 2 31.07.2005 12:42
[Erledigt] Daten in Mysql eingeben und auf warteliste setzen. PHP Tipps 2005 7 05.05.2005 04:04
[Erledigt] Ausgelesende Daten in MySQL Tabellen mit Links verbinden Datenbanken 8 15.01.2005 20:50

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql datenbank umlaute reparieren, mysql load infile umlaute, mysql umlaute reparieren, php fix umlaute mysql, \load data\ mysql umlaute, mysql 5.5 umlaute iso, mysql 5.5 latin1, mysql 5.5 convert utf8 deutsche umlaute, mysql ungültige zeichen ersetzen, umlaute mysql 5 5.5, umlaute wiederherstellen, mysql utf-8 umlaute reparieren, mysql load data umlaut problem, mysql codierung reparieren, load data infile umlaute php, sonderzeichen reparieren, repair umlaute mysql, mysql load data mit sonderzeichen, mysql script umlaute reparieren, mysql sonderzeichen reparieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum