@IzeBerg

Проблема с кодировками MySQL, как решить?

Есть сервер (не Web), у него локально есть MySQL. Когда от клиента приходит сообщение к серверу - сервер проверяет его и записывает MySQL, но беда - иногда приходят сообщения со спец. символами или кириллицей и при записи в MySQL все такие символы заменяются на знаки вопроса, т.е. некорректно.
Сначала, сам сервер и БД находились у меня локально (пока отлаживал) - все было в порядке, сама база была в кодировке UTF-8 и сервер с клиентом на ней-же, но после импорта на удаленный сервер появилась описанная выше проблема. При импорте в дампе базы к каждой таблице указывалась кодировка UTF-8.
Перед отправкой каких-либо строк в базу я указываю кодировку этих строк.
Как такое решают?

UPD.
f09bf802f4163ab3c90ab081c90fecf5.png

UPD 2.
Сервер на Java, для подключения использую Jdbc.

UPD 3. Команда locale
9d00be6aefdf6ea822a014b736a9e1ba.png
  • Вопрос задан
  • 3872 просмотра
Пригласить эксперта
Ответы на вопрос 3
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/
Скорее всего проблема не с mysql, а с локалью самого сервера, покажеите вывод команды locale на сервере и если там не UTF-8 - смените локаль.
Ответ написан
Glueon
@Glueon
DevOps
Значит в PHP используется некорректная кодировка - latin. После создания объекта MySQL и отправки запросов в PHP исполните SQL: SET NAMES UTF8
Ответ написан
Samber
@Samber
Full Stack Web Developer
От клиентов в какой кодировке приходит сообщение? Если это не utf-8, вы конвертируете?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы