@urajo

Как вводить в интерфейсе mysql русские символы?

Dockerfile
FROM mysql:latest

EXPOSE 3306
Запускаю проект через docker compose, захожу в терминал docker compose exec db bash. В нем русские символы нормально вводятся. Когда я захожу в сам mysql - в терминале не пропечатываются русские символы.
Пытался в docker-compose.yml прописать так
command: --default-authentication-plugin=caching_sha2_password --character-set-server=utf8 --collation-server=utf8_general_ci
Не помогло.
Пытался в докер файл через apt-get и apk устанавливать русские пакеты но сборка не проходит
apt-get: command not found
Как можно разрешить русские символы в контейнере mysql
  • Вопрос задан
  • 247 просмотров
Пригласить эксперта
Ответы на вопрос 2
vndrussia
@vndrussia
Вроде разработчик,а вроде и нет
Попробуй в docker-compose.yml поправить кодировку:
services:
  db:
    image: mysql:latest
    command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
    ports:
      - "3306:3306"

Ну и проверь что кодировка таблиц такая же.
Ответ написан
rqdkmndh
@rqdkmndh
Web-разработчик
чтобы можно было вводить русские буквы в консоли mysql, нужно чтобы команда locale в системе выдавала:
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

а в докере выдает локали POSIX
Поэтому либо ищите образ собранный на основе нужной локали, либо доустанавливайте сами нужные инструменты для генерации локали (locale-gen отсутствует)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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