Tja, jag har upptäckt att SET NAMES
är inte riktigt så bra. Ta en titt på dokumenten
...
Vad jag vanligtvis gör är att köra fyra frågor:
SET CHARACTER SET 'UTF8';
SET character_set_database = 'UTF8';
SET character_set_connection = 'UTF8';
SET character_set_server = 'UTF8';
Ge det ett försök och se om det gör det för dig...
Åh, och kom ihåg, alla UTF-8-tecken <=127 är också giltiga ISO-8859-1-tecken. Så om du bara har tecken <=127 i flödet, mb_detect_encoding
kommer att falla på den högre prevalensen teckenuppsättning (som är som standard "UTF-8")...