Maison Opération et maintenance Docker docker mysql code chinois tronqué

docker mysql code chinois tronqué

May 13, 2023 pm 05:08 PM

Lors de l'utilisation de conteneurs Docker pour déployer des bases de données MySQL, des caractères chinois tronqués peuvent parfois apparaître. En effet, le jeu de caractères par défaut de MySQL est Latin1 et les caractères chinois doivent être codés en UTF-8. Cet article explique comment résoudre le problème chinois tronqué de Docker MySQL.

1. Vérifiez le jeu de caractères MySQL actuel

Tout d'abord, nous devons vérifier le jeu de caractères MySQL actuel. Vous pouvez utiliser la commande suivante après vous être connecté à MySQL :

mysql> show variables like '%char%';
Copier après la connexion

Parmi elles, les variables liées au jeu de caractères sont :

  • character_set_client : jeu de caractères client, qui est le jeu de caractères utilisé par le client pour se connecter à MySQL ; Character_set_connection : jeu de caractères de connexion, c'est-à-dire le jeu de caractères entre le serveur et le client ;
  • character_set_database : jeu de caractères de la base de données, la base de données nouvellement créée sera créée en fonction de ce jeu de caractères ;
  • character_set_results : jeu de caractères de résultat, utilisé pour ; les résultats renvoyés par la requête SELECT Jeu de caractères ;
  • character_set_server : jeu de caractères du serveur, le jeu de caractères utilisé par le serveur MySQL lui-même.
  • 2. Modifier le jeu de caractères MySQL en UTF-8

Après avoir vérifié que le jeu de caractères MySQL actuel est Latin1, nous devons le modifier en UTF-8. Cela peut être réalisé des deux manières suivantes :

Modifier le fichier de configuration MySQL
  1. Dans le fichier de configuration MySQL (généralement /etc/my.cnf ou /etc/mysql/my.cnf), ajoutez les deux lignes suivantes :
[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
Copier après la connexion

Parmi eux, [client] est utilisé pour définir le jeu de caractères du client sur UTF-8, et [mysqld] est utilisé pour définir le jeu de caractères du serveur sur UTF-8. Redémarrez le service MySQL une fois la modification terminée :

sudo service mysql restart
Copier après la connexion

Modifiez le jeu de caractères après la connexion à MySQL
  1. Si vous ne pouvez pas modifier le fichier de configuration MySQL, vous pouvez modifier manuellement le jeu de caractères après la connexion à MySQL. Vous pouvez vous connecter à MySQL via la commande suivante :
mysql --default-character-set=utf8 -u用户名 -p密码 数据库名
Copier après la connexion

Une fois la connexion réussie, exécutez les commandes suivantes dans l'ordre pour modifier le jeu de caractères :

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;
Copier après la connexion

Une fois la modification terminée, quittez MySQL et reconnectez-vous pour prendre effet.

3. Utilisez le jeu de caractères UTF-8 dans le conteneur Docker

Étant donné que MySQL dans le conteneur Docker s'exécute en fonction de l'image, nous devons définir le jeu de caractères UTF-8 dans l'image. L'image MySQL peut être construite via le Dockerfile suivant :

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/
Copier après la connexion

Parmi eux, la commande ENV est utilisée pour définir les variables d'environnement, MYSQL_CHARSET est utilisée pour définir le jeu de caractères MySQL sur UTF-8 et MYSQL_COLLATION est utilisée pour définir le classement sur utf8_general_ci. Le script d'initialisation init.sql est également copié dans l'image via la commande COPY pour une exécution automatique lors du démarrage du conteneur.

4. Résumé

Grâce aux trois étapes ci-dessus, nous pouvons utiliser MySQL dans le conteneur Docker et définir le jeu de caractères sur UTF-8 pour éviter le problème des caractères chinois tronqués. Bien entendu, si vous devez gérer des jeux de caractères multilingues, vous devez effectuer des ajustements en fonction de la situation spécifique. J'espère que cet article pourra être utile à tout le monde.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment déployer des applications à un cluster Swarm Docker? Comment déployer des applications à un cluster Swarm Docker? Mar 17, 2025 pm 04:20 PM

L'article détaille les applications de déploiement de Docker Swarm, couvrant la préparation, les étapes de déploiement et les mesures de sécurité pendant le processus.

Que sont les gods, les déploiements et les services de Kubernetes? Que sont les gods, les déploiements et les services de Kubernetes? Mar 17, 2025 pm 04:25 PM

L'article explique les pods, déploiements et services de Kubernetes, détaillant leurs rôles dans la gestion des applications conteneurisées. Il explique comment ces composants améliorent l'évolutivité, la stabilité et la communication dans les applications. (159 caractères)

Comment faire évoluer les applications à Kubernetes? Comment faire évoluer les applications à Kubernetes? Mar 17, 2025 pm 04:28 PM

L'article traite des applications de mise à l'échelle dans Kubernetes à l'aide de l'échelle manuelle, HPA, VPA et Autoscaler en cluster, et fournit les meilleures pratiques et outils pour surveiller et automatiser l'échelle.

Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Mar 17, 2025 pm 04:23 PM

L'article examine la mise en œuvre des mises à jour de roulement dans Docker Swarm pour mettre à jour les services sans temps d'arrêt. Il couvre les services de mise à jour, la définition des paramètres de mise à jour, la surveillance des progrès et la garantie de mises à jour en douceur.

Comment gérer les déploiements à Kubernetes? Comment gérer les déploiements à Kubernetes? Mar 17, 2025 pm 04:27 PM

L'article examine la gestion des déploiements de Kubernetes, en se concentrant sur la création, les mises à jour, la mise à l'échelle, la surveillance et l'automatisation à l'aide de divers outils et meilleures pratiques.

Comment gérer les services dans Docker Swarm? Comment gérer les services dans Docker Swarm? Mar 17, 2025 pm 04:22 PM

L'article discute de la gestion des services dans Docker Swarm, en se concentrant sur la création, la mise à l'échelle, la surveillance et la mise à jour sans temps d'arrêt.

Comment mettre en œuvre des quotas de limitation des taux et des ressources dans les conteneurs Docker? Comment mettre en œuvre des quotas de limitation des taux et des ressources dans les conteneurs Docker? Mar 12, 2025 pm 06:07 PM

Cet article détaille la mise en œuvre de la limitation des taux et des quotas de ressources dans Docker. Il couvre les limites du processeur, de la mémoire et des E / S à l'aide de CGROUPS, mettant l'accent sur les meilleures pratiques pour prévenir l'épuisement des ressources. Limitation du taux de réseau, nécessitant des outils externes comme

Quelles sont les meilleures façons d'optimiser Docker pour les applications à faible latence? Quelles sont les meilleures façons d'optimiser Docker pour les applications à faible latence? Mar 14, 2025 pm 02:00 PM

L'article traite des stratégies pour optimiser Docker pour les applications à faible latence, en se concentrant sur la minimisation de la taille de l'image, en utilisant des images de base légères et en ajustant l'allocation des ressources et les paramètres du réseau.

See all articles