| Author |
Message |
DSB
Developer


Age: 39
Joined: 30 Apr 2004
Posts: 13819
Location: Reichenberg bei Würzburg

|
Posted:
2007-02-28, 02:31 DSB's Umlaut Korrektur (DUK) |
  |
Hallo MySQLDumper-User,
im Umlaut-Thread habe ich angekündigt eine Lösung bei falsch eingespielten Umlauten zu programmieren und nun ist es so weit.
Wieder einmal habe ich stundenlang geforscht und programmiert, um euch eine einfache aber effektive Lösung zu bieten.
Edit: Wenn Du noch Zugriff auf die Quelldatenbank hast, dann ist der einfachste Weg mit MySQLDumper ab Version 1.22 ein neues Backup zu machen und mit der gleichen Version auf dem neuen Server wieder einzuspielen! Ich habe sehr viel getan, um einen sauberen, korrekten Import auch über verschiedene Kodierungen und Versionen hinweg einzubinden. DUK ist ein Versuch die Datensätze im Nachhinein "gerade zu biegen" wenn man keinen Zugriff mehr auf die Ursprungsdatenbank hat.
Bisher basieren die Lösungen nahezu immer darauf die Backup-Datei der Datenbank in das richtige Format zu bringen und dann erneut einzuspielen. Das ist bei großen Backups eine sehr zeitraubende Angelegenheit.
Mit diesem Programm kann man sich den Schritt sparen. Es ersetzt die falsch kodierten Umlaute direkt in der Datenbank, was wesentlich schneller geht. Wenn statt der Umlaute z.B. so etwas angezeigt wird: ü, dann kann ich hiermit vielleicht helfen. (Oder für die Techniker: wenn ein UTF8-kodiertes Backup über eine latin1-Verbindung eingespielt wurde)
Vorraussetzungen: MySQL-Server ab Version 4.1 aufwärts
Edit 6.04.2007: Beschränkung aufgehoben. Ab sofort kann es auch mit einem MySQL 4.0.x-Server ausprobiert werden. Ich habe in der Praxis festgestellt, dass es manchmal auch damit funktioniert.
Die Technik:
es gibt ein sogenanntes Wrapper-Script (das ist lediglich eine einzelne PHP-Datei), die auf den Webspace geladen werden muss und alle Datenbankzugriffe regelt. Das lokale Windowsprogramm greift darauf zu und sendet entsprechende Befehle an diese Datei, um die Datenbank zu analysieren.
Der Clou: so funktioniert der Zugriff auf die Datenbank auch wenn der Hoster externen Zugriff eigentlich verboten hat. Das zugreifende Wrapper-Script ist aber kein externes und so klappt es.
DUK analysiert alle Tabellen der Datenbank und sucht in allen erkannten Textfeldern nach falsch kodierten Umlauten, welche er letztlich ersetzt. Fehlbedienung ist durch die einfache Benutzerführung so gut wie ausgeschlossen.
Dabei ist das Programm bisher noch im Alpha-Stadium.
Bei mir funktioniert es. Welche Probleme bei unterschiedlichen Hostern mit den unterschiedlichsten Serverkonfigurationen auftreten will ich hier durch euer Feedback ermitteln und entsprechend reagieren - sprich das Programm verbessern.
Testet das also bitte und gebt mir Feedback.
Es ist selbstverständlich, dass vor der Anwendung ein Backup der Datenbank erstellt werden sollte falls doch etwas schief geht.
Die Anwendung erfolgt auf eigene Gefahr.
Eigentlich kann das Programm aber nur etwas reparieren und nichts zerstören.
Known Bugs: bisher werden bei mir Euro-Zeichen und "..." noch nicht richtig umgewandelt - wobei ich den Grund dafür noch nicht ermitteln konnte. Mal sehen, ob das bei Euch auch so ist oder ob ich einfach ein sehr "strubbeliges" Testbackup habe.
Die Anwendung ist denkbar einfach (siehe auch beiliegende ReadMe):
- Wrapper-Script öffnen, Datenbank-Zugangsdaten eintragen und auf den Server laden
- duk.exe starten
edit: Einige Virenscanner "meckern" das Programm als Virus an.
DUK funktioniert so, dass es sich mit dem Wrapper-Skript auf dem Webspace-Server verbindet, um die falschen Umlaute in der Datenbank zu erkennen und auch zu ersetzen. Normalerweise ist dies eine "verdächtige" Vorgehensweise eines Programms und so ist die Warnung aus Sicht eines Virenscanners berechtigt. Hier ist es aber blinder Alarm, da DUK natürlich nur Gutes bewirken will. Es befindet sich kein Virus/Trojaner in der Programmierung von DUK. Wenn ihr das Programm hier von diesem Server geladen habt, so könnt ihr eine Warnung durch Virenscanner ignorieren!
Anbei ein Screenshot und das Programm selbst:
_________________ 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.
Last edited by DSB on 2009-01-28, 20:57; edited 11 times in total
|
|
    |
 |
Anzeigen
|
Posted:
Anzeigen |
 |
| Description: |
|
| Filesize: |
19.93 KB |
| Viewed: |
23762 Time(s) |

|
| Description: |
DSB's Umlaut Korrektur V 0.2 Update am 6.4.2007 auf Version 0.2 Jetzt werden auch MySQL 4.0.x-Server akzeptiert |
|
 Download |
| Filename: |
DUK.zip |
| Filesize: |
610.7 KB |
| Downloaded: |
71703 Time(s) |
|
|
| |
 |
DSB
Developer


Age: 39
Joined: 30 Apr 2004
Posts: 13819
Location: Reichenberg bei Würzburg

|
Posted:
2008-02-19, 15:29 (No subject) |
  |
Zum Diskussionsthread zu diesem Artikel: http://forum.mysqldumper.de/viewtopic.php?t=3420
_________________ 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.
|
|
    |
 |
|
|
CrackerTracker © 2004 - 2010 CBACK.de
Powered by Orion based on phpBB
© 2001, 2002 phpBB Group
CBACK Orion Style based on FI Theme
All times are GMT + 2 Hours
phpBB SEO
|