| Author |
Message |
Maverick
uses MSD regulary

Joined: 16 Feb 2007
Posts: 16

|
Posted:
2007-02-27, 11:56 Nach PERL-Backup Fragezeichen für Umlaute (PHP ist OK) |
  |
Hallo,
habe lokal XAMPP für Windows Version 1.5.5 mit MySQL 5.0.27 und Perl (mod_perl) sowie
MySQLDumper Version 1.21 b13-alpha installiert.
Habe Dank MySQLDumper meine Web-DB erfolgreich übertragen.
Wenn ich jetzt lokal ein Backups mit PERL anfertige und nachher lokal wiederherstelle (also im selben XAMPP-System), tritt bei mir ein Problem auf: alle Umlaute werden durch ein Fragezeichen dargestellt.
Ist für mich nicht weiter schlimm, mit PHP läuft ja alles bestens und lokal muss ich auch keine Cronjobs einrichten.
Ich wollte aber mal den Effekt posten, esmuss ja eine Ursache dafür geben. Habe alle Beiträge durchsucht und mir fällt keine Lösung ein.
Beste Grüße
Matthias
|
|
  |
 |
Anzeigen
|
Posted:
Anzeigen |
 |
|
| |
 |
coolsoft
MSD-God


Joined: 21 Mar 2006
Posts: 564

|
Posted:
2007-02-27, 12:05 (No subject) |
  |
|
   |
 |
DSB
Developer


Age: 41
Joined: 30 Apr 2004
Posts: 16073
Location: Reichenberg bei Würzburg

|
Posted:
2007-02-27, 12:14 (No subject) |
  |
Das Perlscript setzt die Verbindung noch nicht explizit auf utf8 (PHP macht das in dieser Version). Deshalb kommt es zu diesem Umstand.
Füge in die crondump.pl ab ca. Zeile 253 ein (die print-Zeile dient der Orientierung):
PrintOut("<font color=#0000FF>ok</font><br><strong>MySQL-Version $v[0].$v[1].$v[2]</strong><br>start Backup <strong>".$starttime."</strong><br>");
$sth = $dbh->prepare("SET NAMES utf8");
$sth->execute;
PrintOut("<br>Charset set to uft8<br>");
Dann schaltet das Cronscript explizit auf utf8 um und es sollte wieder passen.
_________________ Gruß / Greetings, DSB
Teigwaren heißen Teigwaren, weil sie Teig waren.
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
|
|
    |
 |
DSB
Developer


Age: 41
Joined: 30 Apr 2004
Posts: 16073
Location: Reichenberg bei Würzburg

|
Posted:
2007-02-27, 20:47 (No subject) |
  |
Und? Rückmeldung?
Klappt es nun?
_________________ Gruß / Greetings, DSB
Teigwaren heißen Teigwaren, weil sie Teig waren.
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
|
|
    |
 |
Maverick
uses MSD regulary

Joined: 16 Feb 2007
Posts: 16

|
Posted:
2007-02-28, 12:33 (No subject) |
  |
Sorry, ging leider nicht schneller, 1.131.701 Datensätze (mit Index-Suche in TYPO3...) brauchen bei der Wiederherstellung bei mir (lokal) auch rund 1/2 Stunde und der PC ist dann fast nicht nutzbar.
Nach dem empfohlenen Code-Eintrag war das Problem behoben! Besten Dank!
Die speziellen Ausführungen zur Umlauteproblematik kenne ich, habe auch verschiedene Transformationen durchgeführt, klappt auch alles bestens mit PHP.
Was mir nur unlogisch erscheint, woher kommt bei dem Perl-Script die Umlauteproblematik, wenn ich doch auf dem selben SQL-Server bleibe (MySQL 5.0.27), der doch UTF8 verwendet, dort ein Backup einer DB mache und dieses in eine neue leere DB im selben System einspiele? Verschiedene SQL-Systeme mit unterschiedlichen Zeichensätzen klar, aber hier ein und dasselbe System?
Beste Grüße
Matthias
|
|
  |
 |
DSB
Developer


Age: 41
Joined: 30 Apr 2004
Posts: 16073
Location: Reichenberg bei Würzburg

|
Posted:
2007-02-28, 12:44 (No subject) |
  |
Er verwendet zwar intern UTF8 aber der parameter character_set_connection steht bestimmt auf latin1.
_________________ Gruß / Greetings, DSB
Teigwaren heißen Teigwaren, weil sie Teig waren.
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
|
|
    |
 |
Maverick
uses MSD regulary

Joined: 16 Feb 2007
Posts: 16

|
Posted:
2007-02-28, 13:13 (No subject) |
  |
Daran kann's nicht liegen, steht auf utf8:
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
|
|
  |
 |
DSB
Developer


Age: 41
Joined: 30 Apr 2004
Posts: 16073
Location: Reichenberg bei Würzburg

|
Posted:
2007-02-28, 13:20 (No subject) |
  |
Hm, dann kann ich mir das nur so erklären, dass das Perl-DBI-Modul standardmäßig eine Verbindungskennung setzt. Wissen tue ich das zwar nicht genau, aber das Ergebnis sieht ganz danach aus.
_________________ Gruß / Greetings, DSB
Teigwaren heißen Teigwaren, weil sie Teig waren.
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
|
|
    |
 |
Maverick
uses MSD regulary

Joined: 16 Feb 2007
Posts: 16

|
Posted:
2007-02-28, 15:45 (No subject) |
  |
Na gut, eine Lösung gibt es ja und mit PHP funktioniert es auch so in jedem Fall.
Nochmals besten Dank.
_________________ Beste Grüße
Matthias
|
|
  |
 |
|
|