dump importiert, zeichensatz problem

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von saiki, 22.02.2007.

  1. saiki

    saiki Bratwurstgriller

    Dabei seit:
    18.03.2003
    Beiträge:
    934
    Zustimmungen:
    0
    Ort:
    Sachsen/ Meerane
    ich habe aus einer suse installation (10.0) meine datenbank gesichert.

    dies habe ich mit
    Code:
    mysqldump -uroot -pmeinpasswort datenbank > /tmp/dump.sql
    
    getan. so weit so gut. danach gentoo installiert.

    in die neue mysql wollte ich wieder meine datenbank importieren

    Code:
    mysql -uroot -pmeinpasswort datenbank < /tmp/dump.sql
    
    import hat auch funktioniert, nur wird mir auf meinen webseiten jetzt sowas angezeigt. Aus Tür wird beispielsweise:

    Code:
    Tür
    
    soweit zum problem. jetzt zu den dump-infos:

    Code:
    -- MySQL dump 10.9
    --
    -- Host: localhost    Database: datenbank
    -- ------------------------------------------------------
    -- Server version       4.1.13
    
    /*!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' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    
    
    ich habe versucht per phpmyadmin und bash den dump zu importieren. gelang auch immer, aber die umlaute passen einfach nicht. wie kriege ich also meine umlaute wieder und nicht diesen zeichensalat?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 dmaphy, 22.02.2007
    Zuletzt bearbeitet: 22.02.2007
    dmaphy

    dmaphy Routinier

    Dabei seit:
    16.04.2004
    Beiträge:
    482
    Zustimmungen:
    0
    Ort:
    Hamburg
    Weisst du noch, welchen Zeichensatz die alte Datenbank auf dem Suse-System hatte? - Das ist relativ wichtig, weil die neue scheint UTF-8 zu haben.
    Wenn ja, kannst du mit iconv den dump.sql konvertieren.
    siehe hier: http://weblogger.ch/blog/archives/2006/09/07/passage-a-utf-8/

    edit: alternativ fällt mir da grad diese Zeile in deinen dump-infos auf:
    Code:
    /*!40101 SET NAMES utf8 */;
    
    du könntest mal probieren, die zu entfernen.
     
  4. saiki

    saiki Bratwurstgriller

    Dabei seit:
    18.03.2003
    Beiträge:
    934
    Zustimmungen:
    0
    Ort:
    Sachsen/ Meerane
    ich hab die alte mysql der suse hier noch in nem chroot laufen, ich könnte also nachschauen, allerdings wie krieg ich auf der konsole den zeichensatz mit "mysql" heraus?
     
  5. dmaphy

    dmaphy Routinier

    Dabei seit:
    16.04.2004
    Beiträge:
    482
    Zustimmungen:
    0
    Ort:
    Hamburg
    Direkt einen Befehl um den momentan verwendeten Zeichensatz anzuzeigen kenne ich nicht, allerdings hab ich da ne Idee:

    Code:
    show charset;
    
    Zeigt dir alle möglichen Zeichensätze an, die möglich sind. Wenn ich mir die Liste bei mir so anschaue, ist es wohl ziemlich wahrscheinlich, dass es latin1 ist. Ob das wirklich so ist, kannst du ja prüfen, indem du mit

    Code:
    charset latin1;
    
    den Zeichensatz einfach mal festlegst und dann eine select-abfrage machst.
    Werden die Umlaute richtig angezeigt kannst du davon ausgehen dass latin1 dein Kandidat ist. Bei iconv musst du nur darauf achten ob du iso-8859-1 für "normales" latin1 oder evtl. iso-8859-15 für latin1 + Euro-Zeichen verwendest.
     
  6. #5 Wolfgang, 22.02.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Macht es doch nicht so kompliziert.
    Mysql kann das selbst übernehmen.
    Schaust du HIER

    Gruß Wolfgang
     
  7. #6 saiki, 22.02.2007
    Zuletzt bearbeitet: 23.02.2007
    saiki

    saiki Bratwurstgriller

    Dabei seit:
    18.03.2003
    Beiträge:
    934
    Zustimmungen:
    0
    Ort:
    Sachsen/ Meerane
    also wolfgangs tipp hat mich nur einen kleinen schritt weiter gebracht. da ich von mysql ungefähr so viel ahnung wie von herztransplantationen habe.

    ok, soweit, sogut. ich habe in beiden datenbanken folgenden befehl ausgeführt:

    Code:
    SHOW VARIABLES LIKE 'character_set%';
    SHOW VARIABLES LIKE 'collation%'; 
    dabei kam folgendes raus.

    quelldatenbank:
    Code:
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | latin1                     |
    | character_set_connection | latin1                     |
    | character_set_database   | latin1                     |
    | character_set_results    | latin1                     |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    
    +----------------------+-------------------+
    | Variable_name        | Value             |
    +----------------------+-------------------+
    | collation_connection | latin1_swedish_ci |
    | collation_database   | latin1_swedish_ci |
    | collation_server     | latin1_swedish_ci |
    +----------------------+-------------------+
    
    
    zieldatenbank:
    Code:
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       | 
    | character_set_connection | utf8                       | 
    | character_set_database   | utf8                       | 
    | character_set_filesystem | binary                     | 
    | character_set_results    | utf8                       | 
    | character_set_server     | utf8                       | 
    | character_set_system     | utf8                       | 
    | character_sets_dir       | /usr/share/mysql/charsets/ | 
    +--------------------------+----------------------------+
    
    +----------------------+-----------------+
    | Variable_name        | Value           |
    +----------------------+-----------------+
    | collation_connection | utf8_general_ci | 
    | collation_database   | utf8_general_ci | 
    | collation_server     | utf8_general_ci | 
    +----------------------+-----------------+
    
    
    
    und da ich wie gesagt nicht wirklich der mysql held bin, wäre eine etwas genauere vorgehensweise nett ;) also wie kriege ich meine alten daten in die neue db, ohne komische darstellungsprobleme? danke für eure geduldige hilfe!

    PS: fragt mich nicht wieso das in der quelldb auf schwedisch gestellt war/ist. fragt suse...
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. dmaphy

    dmaphy Routinier

    Dabei seit:
    16.04.2004
    Beiträge:
    482
    Zustimmungen:
    0
    Ort:
    Hamburg
    Also ich tendiere immernoch zu der Lösung mit dem iconv. (siehe weiter oben.)
    Was mir noch eingefallen ist: du könntest dir mit mysqldump nochmal einen neuen dump ziehen, allerdings mit dem Parameter --set-charset.

    Das mit dem schwedisch ist übrigens standardmässig so von MySQL her wenn ich mich irre.
     
  10. saiki

    saiki Bratwurstgriller

    Dabei seit:
    18.03.2003
    Beiträge:
    934
    Zustimmungen:
    0
    Ort:
    Sachsen/ Meerane
    also, ich habs jetzt hinbekommen. ich habe einfach aus der alten db das zeugs mit latin1 exportiert. dann habe ich einfach das dump genommen und bei "SET NAMES" UTF8 geschrieben. dann einfach in die neue mysql importiert. dann gings. danke für eure geduld :)
     
Thema:

dump importiert, zeichensatz problem

Die Seite wird geladen...

dump importiert, zeichensatz problem - Ähnliche Themen

  1. SED und TCPDUMP

    SED und TCPDUMP: Hallo! Ich versuche einen TCPDUMP mit SED zu begrenzen und in die Datei test.txt zu schreiben. Leider läuft die Sache nich so recht bzw. die...
  2. mysqldump: Got error: 1286: Unknown storage engine 'ndbinfo' when using LOCK TABLES

    mysqldump: Got error: 1286: Unknown storage engine 'ndbinfo' when using LOCK TABLES: Hallo. Bei der Sicherung meiner Datenbanken via mysqldum erhalte ich eine Fehlermeldung: # mysqldump -A > /home/user/Dokumente/alle_db.dump...
  3. Sniffen per Script: tcpdump

    Sniffen per Script: tcpdump: Guten Tag Ich möchte ein Netzwerk sniffen. Da der Dump mit der Zeit etwas gross ist, möchte ich ihn vor der Analyse mit Wireshark noch...
  4. tcpdump Rückgabe auswerten

    tcpdump Rückgabe auswerten: tcpdump Rückgabe auswerten --- Gelöst Hallo zusammen, erstmal danke für diese häufig hilfreichen Threads. Hat mir in meiner Linux / Unix...
  5. LVM2 benötigt für vzdump, aber wie?

    LVM2 benötigt für vzdump, aber wie?: Hallo, ich möchte gerne im laufenden Betrieb Backups unsere vz erstellen und zwar mit diesem Befehl: vzdump --dumpdir /space/backup --snapshot...