Datenbankwechsel-Problem !

  • Ich wurde gestern von meinem Provider aufgefordert auf eine neue MySQL-Version umzuziehen.
    Die alte MySQL 4.0 wird in einem Monat gelöscht. Eigentlich habe ich nur noch eine alte Datenbank 4.0.
    Auf dieser befindet sich ein altes Script das ich noch im Einsatz habe. Es ist ein Script wo man das Wetter
    melden kann, und da sind schon jahrelang ein paar Stamm-User aus der Schweiz und De, die sich jeden Tag
    dort eintragen.

    Nun habe ich gestern ein Backup der alten Datenbank gemacht und es auf eine Neue 5.0 eingespielt.
    Dann habe ich die config.php des alten Scriptes angepaßt und es überspielt per FTP.
    Doch was muß ich sehen ? Bei einem Testeintrag sah ich das z.B. die Uhrzeit nicht mehr richtig
    angezeigt wird. Statt 12:35:15 sieht es so aus : 00:00:00 und die Umlaute sind Fragezeichen,
    genau so wie die Gradangabe: +2° = +2?. Weiß jemand was ich da machen könnte ?
    Ich würde ungerne das Script entfernen wollen, wegen der Stamm-User halt.

  • Moin sieht nach nem ZeichensatzProblem aus.

    Wie hast Du denn das ganze durchgeführt?

    *** Link veraltet ***

    Du musst halt drauf achten, dass Du die neue Datenbank mit den gleichen Eigenschaften
    anlegst wie die Alte.
    Stichwort charset ...

    Gruß

    Sie dürfen nicht alles glauben was sie denken!

    (Heinz Ehrhardt)

  • Jo, das ist das eine. Wenn ich mich nicht irre, dann war die 4.0 noch ISO und die 5.x ist per Default utf8. Also den Export entsprechend durchführen.

    Wegen dem Datum ist das aber ein anderes Problem, das hat nichts mit dem Zeichensatz zu tun. Schau Dir mal die alte Tabelle an, welcher Typ das entsprechende Feld war. Dann vergleiche das mal mit dem Feld in der neuen DB. Schau auch mal in den Export rein, was dort an der entsprechenden Stelle steht, also ob die Daten dort noch richtig sind oder auch schon falsch.

    Ich frage deshalb so komisch, da Du auch was von Scripten schreibst. Scripte haben mit MySQL aber so gesehen nichts zu tun. Nicht, dass der Fehler von den Scripten kommt, weil eventuell nun auch die PHP Version eine andere ist, sprich, nicht nur der MySQL-Server neu ist, sondern der ganze Webserver.

    Ansonsten... Zwischen der 4.0 und der 5.x gab es große Umstellungen.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Zitat von Rudolf Ratlos;40891

    Wie hast Du denn das ganze durchgeführt?
    Gruß


    Ich habe ein Backup gemacht via Php-Script.
    Dann habe ich es direkt über die neue Datenbank eingespielt.
    Datenbankname links angeklickt, dann oben SQL dann dursuchen und GZ-Datei eingespielt.
    Da steht dann bei der Zeichencodierung der Datei: utf8.
    Mann kann aber auch andere auswählen.
    Bei der alten Datenbank steht da nix. Ich les mal deinen Link von dir genau durch,
    vielleicht bringt das mich weiter. Danke mal vorerst.

    @syno

    Zitat

    Jo, das ist das eine. Wenn ich mich nicht irre, dann war die 4.0 noch ISO und die 5.x ist per Default utf8. Also den Export entsprechend durchführen.


    Dasteht aber nix mit ISO in der Liste zum auswählen.
    Die PHP Version hat sich nicht geändert, die wurde schon vor längerer Zeit umgestellt.

  • Wie importierst Du denn? Mit dem PHPMyAdmin? Der Export? Ein eigenes Script? Wenn ein eigenes, dann nehme da auch mal den PHPMyAdmin.

    P.S. Mein PHPMyAdmin hat die Auswahl ISO für den Import:
    [ATTACH=CONFIG]585[/ATTACH]

    Und beim Export sind die Optionen auch:
    [ATTACH=CONFIG]586[/ATTACH]

    Export und Import müssen zusammenpassen, sonst gibt es Zeichensalat

    Auch passen muss die DB selbst. Im PHPMyAdmin auf der Startseite:
    [ATTACH=CONFIG]587[/ATTACH]

    Hier muss also alles zusammenpassen. Wenn das stimmt, dann muss auch das Script entsprechend dazu passen, sonst kommen die Daten richtig in und aus der DB, aber PHP verursacht einen Zeichensalat ;)

  • In der index.php im Script steht : charset=iso-8859-1
    Das steht auch in der alten Datenbank.
    In der neuen Datenbank steht : German (de-utf-8) bei Langue.
    Und untendrunter: Zeichensatz / Kollation der MySQL-Verbindung utf8_general_ci.
    Oh verdammt, mir brennen schon wieder die Augen.

    Syno, ich muß ne Pause machen, dann schau ich mir mal das von dir genau an.
    Dauernd diese beschissenen Änderungen, immer wieder was Neues.
    Da hock ich wieder den ganzen Tag rum mit brennenden Augen nur wegen dem Mist.

  • Bei den Preisen von Puretec bzw. 1&1 ist das eh an der Grenze zur Unverschämtheit, dass der Kunde das machen muss, bei den anderen Providern haben die das immer intern geregelt, wenn eine neue MSQL Version angefahren wurde, oder man hat die Auswahl zu upgraden oder es zu lassen.

    Frei nach Dieter Nuhr
    Das Internet ist zum Lebensraum der Dauerbeleidigten geworden, die immer einen Grund finden, anderen irgendetwas vorzuwerfen, um sich selbst moralisch zu erhöhen.

  • Zitat

    Oh verdammt, mir brennen schon wieder die Augen.


    Ein bischen Vertrauen, jemandem die Zugangsdaten geben und sich helfen lassen.
    Man muss nicht alles können.

    Er war Jurist und auch sonst von mäßigem Verstand.

    (Volker Pispers)

  • Zitat von guppy;40898

    Bei den Preisen von Puretec bzw. 1&1 ist das eh an der Grenze zur Unverschämtheit, dass der Kunde das machen muss, bei den anderen Providern haben die das immer intern geregelt, wenn eine neue MSQL Version angefahren wurde, oder man hat die Auswahl zu upgraden oder es zu lassen.

    Da geb ich dir vollkommen Recht - Nur Geld scheffeln wollen se ... :P

  • Zitat von Margin;40899

    Ein bischen Vertrauen, jemandem die Zugangsdaten geben und sich helfen lassen.
    Man muss nicht alles können.

    Wenn ich es nicht selber hinbekomme werde ich es wohl so machen.
    Hab ja noch nen Monat Zeit.
    Aber wer stellt sich zur Verfügung ? ... :floet:

  • Zitat von Margin;40902

    Spontan fallen mir hier 3 Leute ein, die das völlig problemlos auf der Pfanne haben ^^


    Dann würde ich gerne den Syno nehmen, wenn ich es nicht selber auf die Reihe kriege ... ;)
    Aber nur wenn er Zeit hat.

  • Wäre auch möglich, keine Frage nur zeitlich kann ich das nicht abschätzen. Hier wird ja umgebaut, eben ist der Kran in den Hof gefahren (wo ein fremder parkt, der da nicht parken darf) und die Heizungsbauer kommen auch noch. Also keine Ahnung, wo und wie bzw. wann ich heute überhaupt bin.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Syno, daß muß nicht heute und auch nicht morgen sein.
    Laß mich mal die nächsten zwei Wochen selber probieren,
    wenn dann nichts geht werde ich nochmal anfragen bei dir.
    Erst ab 1.Mai beginnt die Abschaltung der alten Datenbank.

  • Also, jetzt weiß ich warum 1&Schrott das auf die Kunden abwälzt, von wegen Datenschutz - ist schon Aufwand.
    Die Versionen von dem Provider sind nicht kompatibel, die Sortierungen sind andere. Und in der alte Datenbank bekommst Du bei einer eigenen phpmyadmininstallation eine Fehlermeldung, weil kein UTF 8 - Format erkannt wird (war sinngemäß die Fehlermeldung). Irgendeine Sonderlösung vom Provider hat das alles verhunzt, auch die "Hochladenfunktion" vom providereigenem phpmyadmin gibt es nicht.

    Der Weg:
    mit der providereigenenen phpmyadminversion den dump gezogen, mit einem Texteditor die Sonderzeichen umgewandelt, - da haben sich die meisten hier bestimmt ein Autoscript im Texteditor gebastelt(?), den dump hochladen, mit phpmyadmin oder mysqldumper und fertig.

    Der Haken, es ist zwar alles lesbar, Umlaute + Sonderzeichen werden richtig dargestellt aber in der Datenbank steht die Kollation auf latin_german2_ci obwohl utf8 angegeben war

    Frei nach Dieter Nuhr
    Das Internet ist zum Lebensraum der Dauerbeleidigten geworden, die immer einen Grund finden, anderen irgendetwas vorzuwerfen, um sich selbst moralisch zu erhöhen.

  • Boh eh das nächste Problem in dem Zusammenhang, ein wichtiges script läuft bei mir auf php 5.4 nicht - 5.2 läuft es - 5.4 nicht.

    Da weiss ich nicht wo ich ansetzen soll, da ich keine Möglichkeit habe das auszutesten - so ein shitt.

    Hat da mal jemand eine Idee?

    Frei nach Dieter Nuhr
    Das Internet ist zum Lebensraum der Dauerbeleidigten geworden, die immer einen Grund finden, anderen irgendetwas vorzuwerfen, um sich selbst moralisch zu erhöhen.

  • Also wenn das mit PHP 5.2 läuft und 5.4 nicht, dann würde ich mir hier als erstes mal das error.log ansehen, denn da müssten entsprechende Fehler angezeigt werden. Ansonsten versuche mal die Changelogs von 5.3 und 5.4 durchzugehen.

    *** Link veraltet ***
    *** Link veraltet ***

    bzw. auch die Deprecated Funktionen:
    *** Link veraltet ***
    *** Link veraltet ***

    So auf die Schnell denke ich da z.B. an ereg() oder split(), die in fertigen alten Scripten gerne verwendet wurden, aber eben seit 5.3. nicht mehr verfügbar ist.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Ich komme mit meinem Mist auch nicht weiter ... :P

    Zitat

    P.S. Mein PHPMyAdmin hat die Auswahl ISO für den Import


    Bei mir sieht das nicht so aus.
    Falls du mal Zeit hast Syno, sagste mir mal Bescheid.
    Dann regeln wir das am besten über Telefon, möchte dich aber nicht drängen.
    Würde ungern auf das Script verzichten wollen. Syno wirds schon richten ... :up: