Ho un sito Web WordPress sul mio server WAMP locale . Ma quando carico il suo database sul server live, ricevo un errore
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Qualsiasi aiuto sarebbe apprezzato!
Ho un sito Web WordPress sul mio server WAMP locale . Ma quando carico il suo database sul server live, ricevo un errore
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Qualsiasi aiuto sarebbe apprezzato!
Risposte:
Puoi risolvere questo trovando
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
nel .sqlfile e scambiarlo con
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4' :, ho sostituito utf8mb4_unicode_520_cicon utf8mb4_unicode_cie funziona, secondo la risposta di Sabba.
Credo che questo errore sia causato dal fatto che il server locale e il server live eseguono versioni diverse di MySQL. Per risolvere questo:
utf8mb4_unicode_520_ciconutf8mb4_unicode_cispero che aiuti
utf8mb4_unicode_520_ciha un supporto UTF-8 molto migliore di utf8mb4_unicode_ci! Salsa: mysql.rjweb.org/doc.php/charcoll#best_practice con chiarimento visivo dimostrando che 520_ci è superiore qui: mysql.rjweb.org/utf8_collations.html
Nel mio caso risulta che il mio
nuovo server era in esecuzione MySQL 5.5, il
vecchio server era in esecuzione MySQL 5.6.
Quindi ho riscontrato questo errore durante il tentativo di importare il .sqlfile che avevo esportato dal mio vecchio server.
MySQL 5.5 non supporta utf8mb4_unicode_520_ci, ma
MySQL 5.6 lo supporta .
L'aggiornamento MySQL 5.6sul nuovo server ha risolto l'errore di confronto!
Se si desidera conservare MySQL 5.5, è possibile:
- creare una copia del .sqlfile esportato
- sostituire istanze di utf8mb4unicode520_cie utf8mb4_unicode_520_ci
... con utf8mb4_unicode_ci
- importare il .sqlfile aggiornato .
Apri il file sql nel tuo editor di testo;
1. Cerca: utf8mb4_unicode_ci Sostituisci: utf8_general_ci (Sostituisci tutto)
2. Cerca: utf8mb4_unicode_520_ci Sostituisci: utf8_general_ci (Sostituisci tutto)
3. Cerca: utf8mb4 Sostituisci: utf8 (Sostituisci tutto)
Salva e carica!
basta rimuovere "520_"
utf8mb4_unicode_520_ci→utf8mb4_unicode_ci
Ho appena aperto il file dump.sql in Notepad ++ e ho premuto CTRL + H per trovare e sostituire la stringa " utf8mb4_0900_ai_ci " e sostituirla con " utf8mb4_general_ci ". Link alla fonte https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
trova e sostituisci:
utf8mb4_unicode_520_ci
con
utf8_general_ci
in tutto il file sql
generale utf8sono entrambi i passi indietro.
In ritardo alla festa, ma nel caso ciò accada con WORDPRESSun'installazione:
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
In phpmyadmin, sotto export method> Format-specific options(esportazione personalizzata)
Impostato : MYSQL40
Se proverai a importare ora, ora potresti ricevere un altro messaggio di errore:
1064 - You have an error in your SQL syntax; .....
Questo perché l' TYPEopzione precedente che era sinonimo di è ENGINEstata rimossa in MySQL 5.5.
Apri il tuo .sqlfile, cerca e sostituisci tutte le istanze
da TYPE=aENGINE=
Ora l'importazione dovrebbe procedere senza intoppi.
Errore di collazione # 1273 - Fascicolazione sconosciuta: "utf8mb4_unicode_520_ci" è causato dalla differenza tra la versione di MySQL da cui si esporta e il nostro server MySQL in cui si importa. Fondamentalmente, la libreria di Wordpress per la versione più recente controlla per quale versione di SQL è in esecuzione il tuo sito. Se utilizza MySQL versione 5.6 o successiva, presuppone l'utilizzo di un nuovo e migliorato Unicode Collation Algorithm (UCA) chiamato "utf8mb4_unicode_520_ci". Questo è fantastico a meno che non finisca per spostare il tuo sito WordPress da una nuova versione 5.6 di MySQL a una versione precedente, la 5.6 precedente di MySQL.
Per risolvere questo problema, dovrai modificare il file di esportazione SQL ed eseguire una ricerca e una sostituzione, cambiando tutte le istanze di "utf8mb4_unicode_520_ci" in "utf8mb4_unicode_ci". Oppure segui i passaggi seguenti se hai un PHPMyAdmin:
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql