Добрый день. Столкнулся с такой проблемой- при выборе данных из БД получаю ???????. НО если задать кодировку явно при подключении Код (PHP): $db=new PDO('mysql:host=localhost;dbname=mysite;charset=UTF8','root',''); то все работает. НО самое смешное то, что сервер полностью настроен на utf-8_general_ci и все что нужно я прописал в my.cnf. и запросы к базе SHOW VARIABLES LIKE'character%'; и SHOW VARIABLES LIKE 'collation%'; возвращают везде utf-8. Как такое может быть????? P.S. перед тем как создавать пост я гуглил полдня, поэтому кидать ссылки на статьи не стоит.
ну тогда сообщу новость-если в настройках сервера прописать дефолтные настройки, то указывать ничего не надо. По аналогии с постоянным указанием header('Content-Type: text/html; charset=utf-8') в скрипте либо установки нужно кодировки в конфиге сервера.
character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 collation_connection utf8_general_ci collation_database utf8_general_ci collation_server utf8_general_ci my.cnf: init-connect='SET NAMES utf8' character-set-server = utf8 collation-server = utf8_general_ci
в нем все норм default_charset = "UTF-8" Да не, проблемы нет указать одно лишние слово в проекте), просто хотел разобраться почему то так
Потому что не от нефиг делать рекомендуется явно указывать кодировку соединения. У тебя без этого как минимум экранирование будет дыряво работать.
ну видимо таки ошибка все равно где то есть. потому что во всех статьях рассказывается о настройке my.cnf. Настроил, но видимо где то ошибся.ладн хрен с ним.