Crypt2
Hallo,
ich bin gerade dabei den Server zu wechseln. Ich habe soweit alles geschafft, nur sind jetzt alle Umlaute falsch dargestellt.
Für den "Grünschnabel" wird jetzt "Grünschnabel " angezeigt, oder für "Hier könnt ihr Witze erzählen" steht jetzt da "Hier könnt ihr Witze erzählen". Gibt es eine Möglichkeit das Problem zu beheben?
Vielen Dank im vorraus
sunshine03
das problem liegt an der codierung der datenbank.. wahrscheinlich haben die beiden server verschiedene codierungen in der datenbak gehabt. und somit gibt es dieses problem.
lösung wäre alles per hand in der datenbak umzuändern..
oder mit neuer codierung absichern und auf den neuen server laden..
Crypt2
Danke für die schnelle Antwort!
Das hat man mir auch gesagt, das es an den unterschiedlechen Datenbankservern liegt. Du sagtest die Lösung wäre eine manuelle Änderung in der Datenbank, damit meinst du halt via Editor die entsprechenden Bereiche zu ändern (vermute mal...) Aber das wird nicht so einfach werden, denn die Datenbank hat um die 75MB, das würde mir zu lange dauern
oder habe ich das falsch verstanden?
...und wie meinst du das mit neuer codierung absichern und dann wieder in den server einspielen? wie ändere ich die codierung im alten server? THX
Mugga
wenn du das ganze schon auf dem server als plain text liegen hast, benutz sowas wie...
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
<?
// auslesen
$dump = implode('', file('dump.sql'));
// ersetzen
$ersetzen = array('ü', 'ö'); // ...
$durch = array('ü', 'ö'); // ...
// oder guck dir http://de3.php.net/manual/en/function.utf8-decode.php an ;)
$dumpnew = str_replace($ersetzen, $durch, $dump);
// und dann wieder speichern:
$fp = fopen('dump.new.sql', 'w');
fwrite($fp, $dumpnew);
fclose($fp);
?> |
|
Crypt2
Ahh THX, praktisch konvertierungstool!! Damit werde ich mal testen
SvPe
wenn du die zeichensätze der beiden server kennst und ein linux system hast kannst du das auch mit iconv machen:
code: |
1:
|
$ iconv -f ZEICHENSATZ_ALT -t ZEICHENSATZ_NEU backup.sql > backup.new.sql |
|
The Silencer
muss ich mal testen habe das selbe Problem
Crypt2
Super! mit iconv hat es geklappt! THX
sunshine03
wie funktioniert das mit iconv
kann mir einer helfen..
SvPe
Zitat: |
Original von sunshine03
wie funktioniert das mit iconv
kann mir einer helfen.. |
das musst du wie gesagt auf einer Linux Konsole eingeben. Das Programm gibt es bestimmt auch für Windows.
Wenn du kein Zugang zu einem Linux Rechner hast, kannst du auch die PHP Funktion
iconv verwenden.
ddennis
Hallo,
ich habe den Server gewechselt.
Früher hatte ich phpMyAdmin 2.7.0-pl2
und nun Version: 2.6.3-pl1.
Das Problem:
Alle Umlaute äüö wurden mit anderen Buchstaben ersetzt.
ß wird dann z.B ß.
So kann man das ja einfach per SSH machen:
$ iconv -f ZEICHENSATZ_ALT -t ZEICHENSATZ_NEU backup.sql > backup.new.sql
Der Zeichensatz von Version 2.6.3 ist utf8_general_ci
wie ist der von der Version 2.7.0 ?
nanox_1
iss bei mir genau so nur wo muss ich das hier eingeben
$ iconv -f ZEICHENSATZ_ALT -t ZEICHENSATZ_NEU backup.sql > backup.new.sql
????
hack3r
in der ssh console sofern du einen ssh zugang hast
Danica
sorry wenn ich das thema nochmal wieder herraus hebe, ich habe das gleiche problem, bei mir werden die umlaute allerdings als ? angezeigt
ich bin allerdings nicht umgezogen, sondern hatte nur ein problem mit dem forum und musste datenbank nochmal neu hochladen... codierung ist also alles gleich...
wo genau kann ich das umstellen? bzw in welcher tabelle stehen die umlaute? ich wollte diese tabelle dann von meinem anderen forum runterladen, bzw von meinem testforum...
Maniac_81
bei
www.xundy.com gibts ein script welches die umlaute wieder bereinigt.
24Bytes
aus ? kannst du nix mehr viel machen, weil sie bereits alle als ? gespeichert sind.
solltest du noch ein backup / eine tabelle mit den richtigen umlauten haben, gehts natürlich
x.0RäNscH
Ich hab versucht das Konvertierungstool von 'Mugga' anzuwenden, hat auch geklappt und so, aber wenn ich jetzt das Backup auf den neuen Server lade, werden Fragezeichen aus den Umlauten und Sonderzeichen.. warum und wie kann ich das umgehen/beheben?
24Bytes
Warum das so ist, können wir dir auch nicht so wirklich sagen, ohne deine beiden Server bzw. deren einstellugen zu kennen.
Aber was du beachten solltest, damit die Umlaute erhalten bleiben:
-> Auf dem neuen Server überall den selben Zeichensatz einstellen, wie auch auf dem alten Server.
Dazu gehört vorallem die Datenbank (kann man im phpMyAdmin oder vergleichbares machen).
Sollten nur neue Datensätze betroffen sein (die also erst auf dem neuen Server angelegt wurden), sollte man überprüfen welchen Zeichensatz die Verbindung von der Scriptsprache/Client (z.B. PHP) zur Datenbank/Server (z.B. MySQL) verwendet. (SET NAMES ...)
Außerdem sollte darauf geachtet werden, was der Webserver (Apache, lighttpd usw.) an den Client sendet.
Sollte dein alter Anbieter die Server nur schlecht warten, oder angst vor Veränderungen haben, so wird dort wahrscheinlich noch ein ISO Zeichensatz verwendet, bei deinem neuen Anbieter könnte allerdings bereits ein UTF Zeichensatz verwendet werden, dadurch könnten auch die Umlaute falsch dargestellt (aber richtig abgespeichert) werden.
Du solltest also zur aller erst raus finden, wo das Problem auftritt.
- Bereits im Backup?
- In der neuen Datenbank?
- Oder erst bei der Ausgabe?
Am häufigsten wird es wohl die neue Datenbank sein. Dazu müsstest du in der neuen Datenbank einfach
vor dem Umzug bzw. wieder einspielen der Daten den Zeichensatz der Datenbank auf den selben ändern, wie der von der alten Datenbank.