#1  
Alt 02.01.09, 15:48
Forum Newbie
 
Registriert seit: 22.10.08
Beiträge: 25
Datenbankimport Umlautprobleme

Ich habe eine neue typo3-Installation auf meinem externen Server zu Testzwecken aufgesetzt. Dazu habe ich bei der Installation einen bestehenden Datenbank-Dump benutzt.

Der Zeichensatz steht bei der alten und bei der neuen Datenbank auf utf8_unicode_ci. In den Datensätzten selbst steht aber latin1_swedish_ci. Die alte Installation läuft ohne Probleme, heißt die Umlaute werden trotzdem richtig angezeigt. Bei der neuen Installation werden die Umlaute im FE und BE falsch angezeigt; ö ist öß usw.

Ich lese mich seit Tagen durch verschiedene Foren, habe aber noch keine Lösung. Wer kann mir helfen?

Vielen Dank!
Lieben Gruß
ele
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Sponsored Links
Unterstützen Sie das Forum und buchen Sie Ihren Webspace beim
T3N Testsieger, dem Webhoster der auch dieses Forum hostet!


  #2  
Alt 03.01.09, 01:31
Forum Newbie
 
Registriert seit: 29.12.08
Alter: 39
Beiträge: 11

Hi eleatweb

wie hast du den dump gemacht, und wie sieht dein dump-file aus ?
Wenn du alles in utf-8 haben willst, dann sollte ungefähr so aussehen (excerpt:sad:

Code:
DROP TABLE IF EXISTS `be_groups`;
CREATE TABLE `be_groups` (
  `uid` int(11) unsigned NOT NULL auto_increment,
  `pid` int(11) unsigned NOT NULL default '0',
  `tstamp` int(11) unsigned NOT NULL default '0',
  `title` varchar(50) collate utf8_unicode_ci NOT NULL default '',
  `non_exclude_fields` text collate utf8_unicode_ci,
  `explicit_allowdeny` text collate utf8_unicode_ci,
  `allowed_languages` varchar(255) collate utf8_unicode_ci NOT NULL default '',
  `custom_options` text collate utf8_unicode_ci,
  `db_mountpoints` varchar(255) collate utf8_unicode_ci NOT NULL default '',
  `pagetypes_select` varchar(255) collate utf8_unicode_ci NOT NULL default '',
  `tables_select` text collate utf8_unicode_ci,
  `tables_modify` text collate utf8_unicode_ci,
  `crdate` int(11) unsigned NOT NULL default '0',
  `cruser_id` int(11) unsigned NOT NULL default '0',
  `groupMods` text collate utf8_unicode_ci,
  `file_mountpoints` varchar(255) collate utf8_unicode_ci NOT NULL default '',
  `hidden` tinyint(1) unsigned NOT NULL default '0',
  `inc_access_lists` tinyint(3) unsigned NOT NULL default '0',
  `description` text collate utf8_unicode_ci,
  `lockToDomain` varchar(50) collate utf8_unicode_ci NOT NULL default '',
  `deleted` tinyint(1) unsigned NOT NULL default '0',
  `TSconfig` text collate utf8_unicode_ci,
  `subgroup` varchar(255) collate utf8_unicode_ci NOT NULL default '',
  `hide_in_lists` tinyint(4) NOT NULL default '0',
  `workspace_perms` tinyint(3) NOT NULL default '1',
  PRIMARY KEY  (`uid`),
  KEY `parent` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
wichtig ist hierbei die letzte zeile mit DEFAULT "CHARSET" und "COLLATE"

Das file an sich solte natürlich auch im utf-8 format vorliegen.

Ich hab dann noch in der localconf folgendes:
Code:
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
somit sollte es funktionieren, auch wenn mysql mit latin_swedish als default läuft.

Gruß
Chris
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 03.01.09, 11:33
Forum Newbie
 
Registriert seit: 22.10.08
Beiträge: 25

Hi Chris,
1:32 ist nicht gerade meine Zeit.

Die localconf-Einstellungen sind soweit richtig.
Doch mein dump-file ist genau das Problem, wusste nicht, was da drinnen stehen muss, latin1 jedenfalls nicht. Hier der Code:

Code:
DROP TABLE IF EXISTS `be_groups`;
CREATE TABLE `be_groups` (
  `uid` int(11) unsigned NOT NULL auto_increment,
  `pid` int(11) unsigned NOT NULL default '0',
  `tstamp` int(11) unsigned NOT NULL default '0',
  `title` varchar(100) NOT NULL default '',
  `non_exclude_fields` text,
  `explicit_allowdeny` text,
  `allowed_languages` text NOT NULL,
  `custom_options` text,
  `db_mountpoints` text NOT NULL,
  `pagetypes_select` text NOT NULL,
  `tables_select` text,
  `tables_modify` text,
  `crdate` int(11) unsigned NOT NULL default '0',
  `cruser_id` int(11) unsigned NOT NULL default '0',
  `groupMods` text,
  `file_mountpoints` text NOT NULL,
  `hidden` tinyint(1) unsigned NOT NULL default '0',
  `inc_access_lists` tinyint(3) unsigned NOT NULL default '0',
  `description` text,
  `lockToDomain` varchar(100) NOT NULL default '',
  `deleted` tinyint(1) unsigned NOT NULL default '0',
  `TSconfig` text,
  `subgroup` text NOT NULL,
  `hide_in_lists` tinyint(4) NOT NULL default '0',
  `workspace_perms` tinyint(3) NOT NULL default '1',
  `tt_news_categorymounts` text NOT NULL,
  `tx_tinyrte_tinyrte_plugins` blob NOT NULL,
  PRIMARY KEY  (`uid`),
  KEY `parent` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Reicht es denn, wenn ich den DEFAULT-Wert in der letzten Zeile ändere?
Oder auch die text und varchar-Elemente? Schätze mal 2.
Werde ich einfach mal ausprobieren.

Was mich noch wundert, dass z.B. db_mountpoints bei dir varchar und bei mir text ist. Liegt das an der Typo3-Version? Ich habe Typo3 4.2.1.

Ich danke dir erst einmal. Nun habe ich schon mal neue Anhaltspunkte an die ich ansetzen kann. Es geht doch nichts über testen.

Gruß ele
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 03.01.09, 15:54
Forum Newbie
 
Registriert seit: 29.12.08
Alter: 39
Beiträge: 11

Hi ele,

mal eine Frage vorweg, arbeitest Du auf Win oder Linux ?
Du solltest mal überprüfen in welchem Format dein dumpfile abgespeichert ist. utf-8 oder iso-8859-1 oder iso-8859-15.
Das sollte, wenn du utf-8 haben willst auch in diesem Format gespeichert sein.

Für Linux:
Code:
convmv -f iso-8859-1 -t utf8 file.to.convert
 


Für Win kannst z.B. Textpad (
TextPad - the text editor for Windows) verwenden, der kann in utf-8 speichern und im Unix-fromat.

dann würde ich das dumpfile erstmal modifizieren (einfache Variante)
ersetze
"ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1"
mit
"ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"


dann importiere das file in die DB und schau Dir die DB an, am Besten mit phpMyAdmin, dort kann man sehr schnell sehen, ob alle Tabellen und Felder die korrekte collation haben.

Gruß
Chris

P.S.: Ich hab Typo3 4.2.2
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 04.01.09, 04:58
Benutzerbild von Saubermann
Forum Stammgast
 
Registriert seit: 07.05.08
Alter: 33
Beiträge: 223

Ich muss nochmal die Frage von jimmy aufgreifen, wie Du Deinen "dump" gemacht hast. Via php-myadmin oder über kommandozeile?

Welche mysql versionen verwenden denn die beiden server. vor (ich glaub) 4.1 war dar standartexport nämlich noch latin heutige Versionen nehmen da lieber gleich utf8. Schau mal mit mysqldump --help nach default-character-set

Wenn Du mit via comandline exportierst (würd ich immer, wenns denn geht) verwende mal die parameter --opt und und erzwing erst mal en spezifischen charset mit

mysql -u username -p password database_name –default-character-set=utf8 < dump.sql

Und ich mein mich da auch an nen Bug ner 4.x Version erinnern zu können, die spiegelverkehrt exportiert hat, also bei default-character-set=utf8 ne dump in latin1 und umgekehrt ausgegeben hat. Einfach mal ausprobieren...

Alles natürlich nur, wenn jimmys Tipp mit dem "speichern unter" in notepad (vorausgesetzt Du bist mit Windows gestraft) nicht geklappt hat. Bei mir gings aber meistens...

Sag Bescheid ob was geholfen hat

Saubermann

An linux vs. windows soll es eigentlich nicht liegen, die unterscheiden isch in de Zeichensätzen meine Wissen ihct in der Umlautcodierung, sondern in den escapeabschlüßen.
__________________
Je größer der Deppenfaktor, desto größer das Bescheidwissergefühl.
Dieter Herbert Nuhr *29. Oktober 1960
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 04.01.09, 09:30
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.103

Hi,

ich hatte die Probleme auch bei der Umstellung auf UTF-8.
Hier habe ich beschrieben, wie ich vorgegangen bin:
scriptworker.com: TYPO3 auf utf-8 umstellen
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 04.01.09, 16:14
Forum Newbie
 
Registriert seit: 22.10.08
Beiträge: 25

Erst einmal danke für die vielen Rückmeldungen.

Ich habe den Dump per php-myadmin gemacht auf dem externen Server, auf dem Unix läuft.
Auf die Shell kann ich nicht zugreifen.
Phpinfo zeigt die Mysql-Version 4.0.24.

Ich wollte jetzt das Dumpfile modifizieren mit Notepad:
"ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1"
mit
"ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"

zu ersetzen reicht meiner Meinung nach nicht aus.

Es gibt noch:
„ENGINE=InnoDB DEFAULT CHARSET=latin1;“
daraus mache ich wohl
“ENGINE=InnoDB DEFAULT CHARSET=utf8;”

Was bedeutet denn der AUTO_INCREMENT –Wert? Darf ich den überhaupt weglassen?
Denn es gibt auch
„ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=135 ;“
und andere Werte.
Oder ersetze ich die alle einfach mit "COLLATE=utf8_unicode_ci"?


to zefix:
Die Datenbank auf dem externen Server konvertieren wollte ich erst einmal nicht. Trotzdem danke, vielleicht bleibt mir ja nichts anderes übrig.
Gruß ele
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 04.01.09, 19:18
Forum Newbie
 
Registriert seit: 29.12.08
Alter: 39
Beiträge: 11

Hallo ele,

aus
"ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1"
wird
"ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1"

Es gibt noch:
„ENGINE=InnoDB DEFAULT CHARSET=latin1;“
daraus wird.
“ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;”

Kurz suche nach "CHARSET=latin1"
und ersetze mit "
CHARSET=utf8 COLLATE=utf8_unicode_ci"

dann speichere das file im"utf-8" Format "wichtig", denn sehr wahrscheinlich hat phpMyAdmin als Zeichenkodierung noch ISO-8859-15 und in diesem Format speichert phpMyAdmin auch dann den dump.
Bitte prüfe die Zeichenkodierung von phpMyAdmin, denn wenn du deine DB in utf-8 hast, dann sollte die Zeichenkodierung von phpMyAdmin auch utf-8 sein, sonst kann es bei manuellen Änderungen in der DB zu Problemen kommen.

lege über phpMyAdmin eine DB an mit Kollation "utf8_unicode_ci"
dann importiere deinen dump.

dann sollte es gehen.

Gruß
Chris
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #9  
Alt 04.01.09, 22:00
Forum Newbie
 
Registriert seit: 22.10.08
Beiträge: 25

Hallo Chris,
das hatte ich gemacht.
Die Kollation stimmt dann, aber die Datenbankinhalte stimmen dann immer noch nicht. Immer nochkeine ordentlichen Umlaute.
Ich habe also doch noch text, longtext und varchar-Elemente mit COLLATE=utf8_unicode_ci abgestellt.
Nun fehlen mir 2 Tabellen. Ich komme noch ins Backend, aber dort ist nur 1 Seiten-Eintrag von über 100, Weltkugel fehlt auch. Wahlscheinlich fehlt der Index.
Bisher haben ich den DB-Import über das Install-Tool gemacht.
Nun werde ich es noch einmal über phpMyAdmin versuchen.
Werde wieder berichten.
Muss doch zu lösen sein, aber erst morgen - muss morgen arbeiten.
Gruß ele

PS: Mysql-Version ist übrigens doch 5.0
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #10  
Alt 05.01.09, 16:13
Forum Newbie
 
Registriert seit: 29.12.08
Alter: 39
Beiträge: 11

Zitat:
Zitat von eleatweb Beitrag anzeigen
Hallo Chris,
das hatte ich gemacht.
Die Kollation stimmt dann, aber die Datenbankinhalte stimmen dann immer noch nicht. Immer nochkeine ordentlichen Umlaute.
Dann ist das dumpfile kein utf-8 file.
Oder phpMyAdmin ist nicht als utf-8 eingestellt. Prüfe, wenn du die phpMyAdmin page geöffnet hast im Browser (hier firefox)
Ansicht -> Zeichenkodierung -> hier sollte "Unicode (utf-8)" selektiert sein.
Wenn hier "westlich ...." selektiert ist, dann solltest du ein phpMyAdmin für utf-8 nehmen.

Prüfe das modifizierte dumpfile, wenn das file utf-8 kodiert ist und die Inhalte korrekte Umlaute beinhalten, dann zeigt es die DB auch korrekt an.

Und: Importiere das dumpfile besser mit phpMyAdmin, ich weiß nicht was typo3 da genau macht.

Gruß
Chris
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165