Salta al contenuto

MySQL error 1267 Illegal mix of collations

Pubblicato il Aggiornato il

MySQL non riesce a combinare le collations di un’espressione. Isola il confronto che fallisce prima di convertire tabelle intere.

MySQL error 1267 Illegal mix of collations: significato

Le prime ipotesi da verificare per “MySQL error 1267 Illegal mix of collations” sono colonne confrontate con collations diverse; parametro della connessione con collation differente.

MySQL error 1267 Illegal mix of collations: sintomo, causa e verifica
MySQL error 1267 Illegal mix of collations: sintomo, causa probabile e criterio di verifica.

Sintomi e cause probabili

Sintomi da verificare

  • Il messaggio “MySQL error 1267 Illegal mix of collations” compare durante un’operazione ripetibile.
  • La funzione coinvolta in MySQL e MariaDB non raggiunge il risultato previsto.
  • Il log dell’area MySQL e MariaDB registra un evento nello stesso minuto della prova.
  • Il comportamento osservato in MySQL e MariaDB cambia in base a utente, rete, file o configurazione.

Cause probabili

  • Colonne confrontate con collations diverse
  • Parametro della connessione con collation differente
  • Tabella importata da un altro ambiente
  • UNION tra espressioni incompatibili

Diagnosi passo per passo

  1. Leggere la query completa che fallisce
  2. Controllare charset e collation delle colonne
  3. Verificare collation_connection
  4. Isolare il confronto responsabile
  5. Provare una conversione su copia del database

Log e dati da controllare

  • log MySQL o MariaDB
  • phpMyAdmin o client SQL
  • error_log dell’applicazione chiamante

Correzioni sicure

  • Confronta charset e collation di colonne, parametri e connessione.
  • Prova una correzione mirata su copia, preservando i caratteri e le regole di confronto richieste.
  • Un cambio di collation può modificare uguaglianza, ordinamento e vincoli univoci: controlla questi risultati.
  • Pianifica eventuali ALTER TABLE con backup e verifica del carico. Non imporre una collation arbitraria a tutto il database.
MySQL error 1267 Illegal mix of collations: passaggi diagnostici e correzioni
MySQL error 1267 Illegal mix of collations: sequenza diagnostica e verifica dopo la correzione.

Verifica finale

  • Confronti, ordinamento e vincoli univoci mantengono il significato atteso.
  • Confronta il risultato con la prova iniziale e conserva gli eventuali errori rimasti.

Errori da evitare

  • Non disattivare globalmente WAF, ModSecurity, antispam o verifica TLS per aggirare il sintomo
  • Non impostare permessi 777 e non cambiare proprietari in modo ricorsivo senza conoscere la struttura dell’account
  • Non cancellare database, chiavi Redis, cache o file di sistema senza backup e senza aver identificato l’oggetto coinvolto
  • Non ripetere pagamenti, import o webhook reali finché non hai verificato l’idempotenza

Guide Xlogic correlate

Fonti tecniche

Domande frequenti

Che cosa significa “MySQL error 1267 Illegal mix of collations”?

MySQL non riesce a combinare le collations di un’espressione. Isola il confronto che fallisce prima di convertire tabelle intere.

Da cosa può dipendere “MySQL error 1267 Illegal mix of collations”?

Le cause da verificare per “MySQL error 1267 Illegal mix of collations” sono: colonne confrontate con collations diverse; parametro della connessione con collation differente; tabella importata da un altro ambiente.

Quali controlli eseguire per “MySQL error 1267 Illegal mix of collations”?

Confronta charset e collation di colonne, parametri e connessione. Prova una correzione mirata su copia, preservando i caratteri e le regole di confronto richieste. Un cambio di collation può modificare uguaglianza, ordinamento e vincoli univoci: controlla questi risultati. Pianifica eventuali ALTER TABLE con backup e verifica del carico. Non imporre una collation arbitraria a tutto il database.

MySQL error 1267 Illegal mix of collations ultima modifica: 2026-08-03T12:49:19+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?