Docker 컨테이너를 사용하여 MySQL 데이터베이스를 배포할 때 가끔 잘못된 중국어 문자가 나타날 수 있습니다. 이는 MySQL의 기본 문자 집합이 Latin1이고 중국어 문자를 UTF-8로 인코딩해야 하기 때문입니다. 이번 글에서는 docker mysql의 중국어 왜곡 문제를 해결하는 방법을 소개하겠습니다.
1. 현재 MySQL 문자 집합을 확인합니다
먼저 현재 MySQL 문자 집합을 확인해야 합니다. MySQL에 로그인한 후 다음 명령을 사용할 수 있습니다.
mysql> show variables like '%char%';
그 중 문자 세트 관련 변수는 다음과 같습니다.
[client] default-character-set=utf8 [mysqld] character-set-server=utf8
sudo service mysql restart
mysql --default-character-set=utf8 -u用户名 -p密码 数据库名
SET character_set_client = utf8; SET character_set_connection = utf8; SET character_set_database = utf8; SET character_set_results = utf8; SET character_set_server = utf8;
수정이 완료된 후 MySQL을 종료하고 다시 로그인하시면 적용됩니다.
3. Docker 컨테이너에서 UTF-8 문자 집합을 사용하세요
Docker 컨테이너의 MySQL은 이미지를 기반으로 실행되므로 이미지에서 UTF-8 문자 집합을 설정해야 합니다. 다음 Dockerfile을 통해 MySQL 이미지를 구축할 수 있습니다.
FROM mysql:latest ENV MYSQL_ROOT_PASSWORD=root ENV MYSQL_DATABASE=test ENV MYSQL_CHARSET=utf8 ENV MYSQL_COLLATION=utf8_general_ci COPY ./init.sql /docker-entrypoint-initdb.d/
그 중 ENV 명령은 환경 변수를 설정하는 데 사용되고 MYSQL_CHARSET은 MySQL 문자 집합을 UTF-8로 설정하는 데 사용되며 MYSQL_COLLATION은 데이터 정렬을 다음과 같이 설정하는 데 사용됩니다. utf8_general_ci. 컨테이너 시작 시 자동 실행을 위해 초기화 스크립트 init.sql도 COPY 명령을 통해 이미지에 복사됩니다.
4. 요약
위의 세 단계를 통해 Docker 컨테이너에서 MySQL을 사용하고 문자 집합을 UTF-8로 설정하여 중국어 문자 깨짐 문제를 피할 수 있습니다. 물론 다국어 문자 집합을 처리해야 하는 경우에는 특정 상황에 따라 조정이 필요합니다. 이 글이 모든 사람에게 도움이 되기를 바랍니다.
위 내용은 docker mysql 중국어 잘못된 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!