Mysql
 sql >> Database >  >> RDS >> Mysql

Problema con il set di caratteri di conversione MySQL

Tutto ok! Quindi questo è quello che deve essere successo:

interfaccia utente (UTF-8) → controller (UTF-8) → modello (ISO-8859-1) → database (UTF-8, ma riceve ISO-8859-1)

Quindi i campi sono stati configurati per utilizzare la codifica UTF-8, ma ricevono dati codificati ISO-8859-1. Volevo convertire i dati codificati in modo errato in UTF-8.

Poiché i dati erano in realtà codificati ISO-8559-1, ho risolto il mio problema con il seguente piccolo "hack" MySQL:

UPDATE `table` SET `column` = convert(cast(convert(`column` using  latin1) as binary) using utf8)

Cortesia ABS su StackOverflow.

Grazie per il vostro tempo a esaminare il mio problema, ragazzi! :)