Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Charset in Datenbank umwandeln

Hi,

ich habe vor einiger Zeit eine etwas größere Datenbank aus einer Sicherungsdatei widerhergestellt. Leider habe ich dabei aber den falschen Charset verwendet und nun stimmen die Umlaute nicht. Da stehen nun immer irgendwelche Sonderzeichen stattdessen.

Gibt es eine Möglichkeit, die Umlaute zu korrigieren ohne dass ich die ganze DB neu aufspielen muss?

Ich habe schon versucht das Charset einfach zu ändern, aber das hilft nichts. Dann hab ich mit dem CONVERT Befehl hantiert, aber leider ist die Dokumentation dazu sehr dürftig und ich bekomme immer nur Fehlermeldungen dass die Tabelle nicht existiert oder das ich einen Fehler in der Syntax habe.

Oder müsste ich tatsächlich jede einzelne Spalte von Hand editieren, wenn ich die DB nicht neu aufspielen will?


Antworten zu Charset in Datenbank umwandeln:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi

A) welche Art von DB ist das (Typ; nicht Inhalt) ?

B) zu jeder DB gibts Software zur Verwaltung

C) du wirst, (was der einfachste Weg ist), dir ein kl. Programmerl schreiben müssen,
    dass die Feldinhalt abcheckt u. die Furze entspr. "ausbessert"

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

zu A)
Hoppla, ist ja schon fast peinlich, dass ich vergessen habe zu erwähnen das es sich um eine MySQL-Datenbank (Version 5.0.67) handelt. (Ist für mich sowas von Standard das ichs häufig einfach unterschlage, obwohl es ja noch massig andere DBs gibt.)

Falls das auch noch wichtig ist: Das Tabellenformat ist InnoDB

zu B)
Ich verwende den mit PLESK zur Verfügung gestellten phpMyAdmin - 2.11.6

zu C)
Ich hatte gehofft, dies über CONVERT direkt aus phpMyAdmin lösen zu können. Mir kommt es so vor als wende ich den CONVERT-Befehl einfach nur falsch an und bekomme deshalb die Fehlermeldungen. (Also dass ich ihn falsch anwende ist klar, sonst kämen ja die Fehlermeldungen nicht. Aber wie wende ich ihn richtig an? Und hilft er mir überhaupt?)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Na wunderbar,

alles da was der DB-Admin braucht!

Wenn der CONVERT nicht so recht will,
dann überdenke, was ich oben unter C) angedacht habe.

Gemeint war eine kleine Routine, die auf die DB zugreift,
sie Record für Record \ Feld für Feld ab-abeitet,
und die entspr. Korrekturen vornimmt.

Tut Leid,
ich komm' noch aus der alten ProgrammiererKlasse,
die sowas "zu Fuß" machten -

dafür hat's auch funktioniert ;)

Hallo,
wie wendest Du denn CONVERT an?
So?
ALTER TABLE tabellen_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];

würde so f. utf8 aussehen:
ALTER TABLE tabellen_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Juchu, eine funktionierende Syntax.

Leider bewirkt sie nicht das, was ich mir wünschen würde (die merkwürdigen Zeichen wieder in die Umlaute zu verwandeln die sie eigentlich darstellen sollen.)

Ich schätze mal es bleibt mir wirklich nichts anderes übrig als ein kleines Script zu schreiben welches jedes Zeichen einzeln raussucht und korrigiert.

Denn mach ich mich mal an die Arbeit. Trotzdem danke für die Hilfe. 


« FTP-Server Zu Web-FTP Einstellen benötige Hilfe.Win XP: AWstats »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Zugriffszeit
In Milisekunden angegebene Zeit, die das Speichermedium zum Erreichen der gesuchten Daten braucht. Die Zeit ist abhängig vom technischen Verfahren des Mediums sowie ...

Reaktionszeit
In der Elektronik versteht man unter der Reaktionszeit die Zeit, die ein Flachbildschirm benötigt, um die Farbe und die Helligkeit eines Bildpunktes zu ändern. ...

Datenbank
Eine Datenbank (DBS), im englischen database, ist eine strukturierte Datensammlung und fungiert wie ein "digitales Archiv". Datenbanken dienen der effizienten Aufbewahrun...