Domanda

Sto migrando il mio blog WordPress e il forum phpBB in un nuovo server di hosting. Sto usando phpMyAdmin per importare lo script SQL dal database nel sito precedente.

Quando apro lo script .sql con Kate, dice che usa UTF8 come codifica. Quando importare sql nel nuovo server, ho l'opzione in phpMyAdmin di scegliere la codifica, dove utf8 è selezionato per impostazione predefinita.

Tuttavia, quando finisco di importare il database, leggo il testo dei post direttamente in phpMyAdmin e vedo caratteri come " & # 233; " ;, " # 241; & Quot ;, ecc. Che non sono stati & Quot; interpretato & Quot; ed è stato sostituito da strani personaggi instillati.

Vedo che anche la mia installazione di WordPress non funziona. Apparentemente c'è un problema con questa cosa di codifica, ma penso che il problema sia nel database MySQL o phpMyAdmin e non in WordPress.

Le versioni di MySQL sono praticamente le stesse, MySQL 5, ma una revisione diversa. Inoltre, non c'è stato alcun problema durante la migrazione del database del forum, quindi questo è ancora più strano ...

Sono perso su come risolvere questo problema ... Qualsiasi idea è benvenuta.

È stato utile?

Soluzione

Hai provato ad aggiungere

SET NAMES 'utf8';

al tuo dump sql?

La cosa con utf8 o codifiche in generale è che per avere successo, devi assicurarti che:

  • il file è codificato utf8 senza firma
  • la codifica predefinita del server mysql è impostata su utf8
  • la connessione è utf8 (ecco perché hai messo SET NAMES 'utf8' nel tuo file sql).
  • tutte le tabelle e le colonne hanno la codifica e il set di caratteri corretti
  • anche tutti i tuoi file web devono essere codificati in utf8. E non funziona semplicemente aggiungere l'intestazione corretta. Devi aprire il file, verificare se la codifica è utf8, in caso contrario, tagliare tutto, modificare la codifica in utf8 e incollare tutto indietro. Non funziona, se modifichi la codifica e salvi il file!

Altri suggerimenti

Grazie mille per le tue risposte. Ho trovato la soluzione e mi sento davvero stupido di non averlo realizzato prima. Tutto doveva funzionare bene:

-Il file è stato codificato con utf8 -Le tabelle sono state dichiarate con utf8:

SET character_set_client = utf8;
-Il server MySQL è stato configurato con utf8 Ecc

Quello che non ho realizzato in primo luogo è che stavo usando un backup del database dalla procedura guidata di backup di cPanel. Non appena me ne sono reso conto, ho usato phpMyAdmin sul vecchio server per esportare il database, importarlo nel nuovo server e presto, il problema è stato risolto.

phpMyAdmin comprende phpMyAdmin meglio di cPanel: P Apparentemente cPanel esporta lo script per essere importato con cPanel stesso. Probabilmente avrebbe funzionato anche questo, ma mi fido meglio di phpMyAdmin.

Grazie mille per le tue risposte.

Mi sono appena imbattuto nello stesso problema, dal momento che ho lottato con esso per circa un'ora e ha rotto molti dei miei siti, ho pensato di cercare e vedere se qualcun altro stava lottando con esso e pubblicare una soluzione: la soluzione è semplicemente specificare il set di caratteri di importazione durante l'importazione.

Se si dispone dell'accesso SSH al proprio host, eliminare nuovamente tutte le tabelle nel nuovo database, quindi eseguire questo comando nella sessione SSH (presupponendo che il vecchio file di dump sia olddatabase.dump.sql ):

$ mysql -h host -u nome utente -p password --default-character-set = utf8 database < olddatabase.dump.sql (sostituisci host, nome utente, password e database con valori appropriati)

Questo è il modo più semplice e diretto per risolvere il problema.

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