Задавайте вопросы, мы ответим
Вы не зашли.
Доброго времени суток!
Столкнулся с со следующей проблемой: есть база мускула на локальной машине, есть приложение, которое периодически инсертит в базу определенные данные. Так вот, если приложение установлено на удаленной машине и следовательно запросы шлет на мой сервер бд, который размещен на локальной машине, то проблем НЕТ - все данные отображаются в нужной кодировке utf8. Но для приложения, которое запускается локально, т.е. на той же машине, что и бд, то все данные в базу заносятся в иероглифах=/
В чем может быть проблема?
Неактивен
Проверьте кодировки соединений, наверняка отличаются. Чтобы не отличались, каждый клиент после соединения должен выполнять запрос "SET NAMES нужная_кодировка", тогда и проблем таких не будет.
Неактивен
Neval написал:
Проверьте кодировки соединений
Где кодировки соединений? Кодировки прописаны верно:
Неактивен
1. Такой результат выдаёт на обоих клиентах?
2. Собственно этот запрос был выполнен непосредственно в клиентах или из другого софта, типа phpMyAdmin, MySQL Workbench, etc?
Неактивен
Такой результат получаю в phpmyadmin на локальной машине.
В общем проблема решена следующим образом: в приложении на локальной машине выставлен внешний айпишник бд вместо 127.0.0.1 и добавлены привилегии для него:
Неактивен
Hafner написал:
Такой результат получаю в phpmyadmin на локальной машине.
Это не правильно, кодировку проверять нужно непосредственно из клиентских приложений. Понятное дело, что phpMyAdmin знает проблему кодировок, по сему постоянно её корректирует для своей работы.
Hafner написал:
Почему так работает?
Тут не подскажу, связи не вижу Подождём, может кто в курсе и просвятит.
Неактивен
Neval написал:
Это не правильно, кодировку проверять нужно непосредственно из клиентских приложений.
Это не web-приложение и именно там проверить кодировку нет возможности. Но, имхо, проблема именно в настройках мускула, т.к. при замене локального адреса на внешний всё заработало как надо...
Неактивен