Domanda

Ho trasferito un grande database di phpBB3 da un database a un latin1 utf-8 Tutto è andato bene, ora ho bisogno di cambiare i caratteri "strani" nel database. Ieri ho trovato un metodo che ha funzionato, ora non riesco a trovare più, ho provato:

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

Fondamentalmente ho bisogno di cambiare tutti i caratteri A nel campo della tabella A e così via.

Come si può fare questo?

Grazie

È stato utile?

Soluzione

phpbb_topics aggiornamento impostare TOPIC_TITLE = sostituire (sostituire (TOPIC_TITLE, 'A', 'E'), 'a', 'à');

Si dovrebbe rispondere a te stesso le seguenti domande:

  • quali dati binari viene memorizzato nel database (funzione d'uso ascii () o SELECT ... INTO DUMPFILE)
  • quali dati binari viene inviato al cliente (non è sempre lo stesso memorizzato)
  • come il vostro cliente mostra i dati binari ricevuti? (Provate clienti diversi e diverse opzioni)

Altri suggerimenti

Vorrei scaricare in un file sql e quindi sostituire i caratteri con sed o un editor di testo (se il file non è di grandi dimensioni). Dopo di che si esegue nuovamente lo script. Forse c'è un modo per fare questo nel database direttamente, ma io non lo so.

Il problema circa la mia soluzione è che la sua non è atomica. Le modifiche al db tra la discarica e il reinserimento sono persi.

Saluti Raffael

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top