Frage

Ich habe eine große phpbb3 Datenbank aus einer latin1 Datenbank in eine utf-8 übertragen Es ging alles ok, jetzt muss ich in der Datenbank, die „seltsame“ Zeichen ändern. Gestern habe ich eine Methode gefunden, dass gearbeitet, jetzt kann ich es nicht mehr finden, habe ich versucht:

update phpbb_topics set topic_title = replace(topic_title, 'Ã', 'à');
update phpbb_topics set topic_title = replace(topic_title, 'è', 'è');

Im Grunde muss ich alle die à Zeichen im Tabellenfeld ändern, um à und so weiter.

Wie kann man das tun?

Danke

War es hilfreich?

Lösung

update phpbb_topics gesetzt TOPIC_TITLE = ersetzen (replace (TOPIC_TITLE, 'a', 'E'), 'a', 'a');

Sie sollten sich folgende Fragen beantworten:

  • , welche binäre Daten in der Datenbank gespeichert sind (Verwendung ascii () Funktion oder SELECT ... INTO DUMPFILE)
  • , welche binäre Daten an den Client gesendet (es ist nicht immer die gleiche wie gespeichert)
  • , wie Sie Ihren Client zeigt binäre Daten empfangen? (Versuchen, verschiedene Kunden und unterschiedliche Optionen)

Andere Tipps

Ich würde es auf eine SQL-Datei Dump und ersetzen dann die Zeichen mit sed oder einem Texteditor (wenn die Datei nicht zu groß). Danach können Sie das Skript erneut ausführen. Vielleicht gibt es eine Möglichkeit, dies direkt in der Datenbank zu tun, aber ich weiß es nicht.

Das Problem über meine Lösung ist, dass sie nicht atomar. Änderungen an der db zwischen der Deponie und der Wiedereingliederungs verloren.

Grüße Raffael

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top