2016-04-25 7 views
0

Ich habe vor kurzem meine Website auf PHP 5.7 und eine neue Installation der MySQL-Datenbank aktualisiert. Die vorherigen Daten wurden importiert.Ich möchte die Sortierung auf meiner MySQL-Datenbank ändern

Jetzt habe ich viele der Fragezeichen in Diamanten im ausgegebenen Text. Ich habe gelesen, und das Problem scheint zu sein, dass die Sortierung meiner Datenbank auf latin1_swedish_ci eingestellt ist und ich utf8 sein muss, um in der Datenbank gespeicherte Sonderzeichen korrekt zu rendern.

Wenn ich die Sortierung ändere wird dies möglicherweise mein Problem lösen, die älteren Buchungen zu beheben?

Schalte ich die Site aus, bevor die Sortierung geändert wird, und muss ein Neustart durchgeführt werden? Ich bin etwas nervös, wenn ich die Daten korrumpiere, da meine Benutzer sehr verärgert wären, ihre historischen Beiträge zu verlieren.

Ich richte keine neue Datenbank ein, habe eine vorhandene Datenbank aktualisiert und muss die historischen Daten beibehalten.

Ich folgte eine der Antworten unten geschrieben und es funktionierte für Daten, die in die Datenbank vor dem Upgrade eingegeben wurden, aber macht nun neuere Daten mit verschiedener â € œ anstelle von Apostrophe usw.

+0

* „Jetzt habe ich in ausgegebene Text eine Menge der Fragezeichen in Diamanten haben.“ * - so überprüfen Sie die Codierung der Datei, und wenn das immer noch nicht funktioniert, Übergeben Sie UTF -8 vor der Abfrage –

+2

Siehe auch http://StackOverflow.com/Questions/279170/utf-8-all-the-way-through –

+1

Wenn Sie besorgt über Daten korrumpieren, kopieren Sie einfach diese db in einer TMP-Tabelle –

Antwort

1

können Sie verwenden

$con = mysqli_connect("HOST","DB_USER","PASSWORD","DB_NAME"); 
$db->set_charset('utf8'); 

ODER

mysql_query('SET NAMES utf8'); 
+0

Aber mischen Sie nicht mysql_ * und mysqli_ * '; benutze nur Letzteres. –