Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Frage zur Datenbank-Konvertierung
#1
Question 
Hallo alle zusammen!

Ich betreue gerade ein Extra-Forum welches auf einen anderen Server ziehen musste.
Der alte Server nutzte MySQL 5, der neue nutzt MySQL 4.0.18 - dementsprechend gab es schon Probleme beim Import des Datenbankbackups.
Diese konnte ich lösen in dem ich das Backup auf meiner XAMPP-Umgebung einspielte und diese per MySQL 4 Kompatibilität exportierte und auf dem neuen Server wieder importierte.

Allerdings macht nun die db_mysql.php schwierigkeiten.
Dort habe ich den Code:
PHP-Code:
    function select_db($database)
    {
        global 
$config;
        
        
$success = @mysql_select_db($database$this->link) or $this->dberror();
        if(
$success && $config['db_encoding'])
        {
            
$this->query("SET NAMES '{$config['db_encoding']}'");
        }
        return 
$success;
    } 

Darauf zusammengekürzt:
PHP-Code:
    function select_db($database)
    {
        global 
$config;
        
        
$success = @mysql_select_db($database$this->link) or $this->dberror();
    } 
Da sonst ein MySQL-Fehler angezeit wurde, das der Befehl Set names 'utf-8' unbekannt sei. Liegt wahrscheinlich an der alten Datenbankversion.

Nunja, dass waren bisher die Rahmeninfos, nu zu meiner Frage:

Die Beiträge werden wunderbar dargestellt, die Zeichenkodierung scheint UTF-8 zu sein, und wird entsprechen so in die Datenbank geschrieben und ausgelesen. ... zumindest vermute ich das, weil ein Testbeitrag mit den deutschen Umlauten korrekt dargestellt wurde.
Im Admin-CP gibts ja die Option "UTF-8 Konvertierung" - wenn ich auf diese klicke wird mir die volle Liste angezeigt.
Muß ich die Datenbank - die ja ursprünglich als utf-8 angelegt war - nun noch konvertieren, oder würde das eh nicht funktionieren bei der alten MySQL Version?

LG, GM!
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
#2
Wenn es keine Probleme gibt solltest du es dabei belassen. Der Query mit SET NAMES setzt die Kodierung der Daten von vorneherein fest, funktioniert aber mit deiner MySQL-Version nicht. Solltest du jetzt eine Konvertierung durchführen, würde das nur neue Probleme verursachen.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#3
Danke dir Michael!

Okay, dass ist super das ich nu ganz genau weiß, wofür der Befehl da war. ... hatte vorher ja nur vermutet, dass es dafür zuständig ist. Dann bin ich ja beruhigt, dass es da nu keine Komplikationen geben kann, wo ich den Befehl ja entfernt hab.

Also so wie ich das beobachtet, und in nem Testbeitrag (mit den Umlauten) getestet habe, wird Text in UTF-8 gespeichert, und so auch wieder ausgelesen. ... müsste eigentlich ja so ohne Probs gehen, oder?!

Dachte ich frag hier einfach mal nach, und verschaff mir Gewissheit!
Danke dir nochmal fürs schnelle Antworten!!!

LG, GM!
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
#4
Noch ein Hinweis: Wenn du die Angabe zur Kodierung in der Datei inc/config.php weglässt, sind keine Codeänderungen erforderlich.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.