Все русские символы из бд приходят знаками вопроса
mb_detect_encoding('????')
таки выдаст ASCII, и это будет правдой. Но никакого отношения к базе это не имеет. Определяйте настоящую кодировку базы и указывайте ее в настройках подключения. Без этого никакие манипуляции в дальнейшем РНР вам ничего не дадут. mb_detect_encoding($result[$i]);