Е, открих, че SET NAMES
всъщност не е толкова страхотно. Направете връх в документите
...
Това, което обикновено правя, е да изпълнявам 4 заявки:
SET CHARACTER SET 'UTF8';
SET character_set_database = 'UTF8';
SET character_set_connection = 'UTF8';
SET character_set_server = 'UTF8';
Пробвайте и вижте дали това ще ви свърши работа...
О, и не забравяйте, че всички UTF-8 знаци <=127 също са валидни знаци ISO-8859-1. Така че, ако имате само знаци <=127 в потока, mb_detect_encoding
ще падне върху набора от знаци с по-високо разпространение (което по подразбиране е "UTF-8")...