Dopo aver notato che un'applicazione tendeva a scartare e-mail casuali a causa di errori del valore di stringa errati, sono andato però e ho cambiato molte colonne di testo per utilizzare il utf8 set di caratteri colonna e la colonna predefinita collate ( utf8_general_ci) in modo che li accettasse. Questo risolveva la maggior parte degli errori e faceva sì che l'applicazione smettesse di ricevere errori sql anche quando colpiva email non latine.
Nonostante ciò, alcune delle e-mail stanno ancora causando al programma un errore errato nel valore di stringa: (Incorrect string value: '\xE4\xC5\xCC\xC9\xD3\xD8...' for column 'contents' at row 1)
La colonna dei contenuti è un MEDIUMTEXTdatatybe che utilizza il utf8set di caratteri della utf8_general_cicolonna e la colonna fascicolazione. Non ci sono flag che posso attivare o disattivare in questa colonna.
Tenendo presente che non voglio toccare o nemmeno guardare il codice sorgente dell'applicazione se non assolutamente necessario:
- Cosa sta causando questo errore? (sì, so che le e-mail sono piene di immondizia casuale, ma ho pensato che utf8 sarebbe stato abbastanza permissivo)
- Come posso ripararlo?
- Quali sono i probabili effetti di una simile soluzione?
Una cosa che ho considerato è stata passare a un varchar utf8 ([qualche numero grande]) con il flag binario attivato, ma non ho familiarità con MySQL e non ho idea se una tale correzione abbia senso.