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 .sql
file 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_ci
con utf8mb4_unicode_ci
e 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_ci
conutf8mb4_unicode_ci
spero che aiuti
utf8mb4_unicode_520_ci
ha 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 .sql
file 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.6
sul nuovo server ha risolto l'errore di confronto!
Se si desidera conservare MySQL 5.5, è possibile:
- creare una copia del .sql
file esportato
- sostituire istanze di utf8mb4unicode520_ci
e utf8mb4_unicode_520_ci
... con utf8mb4_unicode_ci
- importare il .sql
file 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
general
e utf8
sono entrambi i passi indietro.
In ritardo alla festa, ma nel caso ciò accada con WORDPRESS
un'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' TYPE
opzione precedente che era sinonimo di è ENGINE
stata rimossa in MySQL 5.5.
Apri il tuo .sql
file, 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