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%';
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- 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
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 restartModifiez le jeu de caractères après la connexion à MySQL
- 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密码 数据库名
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;
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/
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!

Docker simplifie le déploiement et la gestion des applications sur Linux. 1) Docker est une plate-forme conteneurisée qui emballe les applications et leurs dépendances dans des conteneurs légers et portables. 2) Sur Linux, Docker utilise des groupes et des espaces de noms pour implémenter l'isolement des conteneurs et la gestion des ressources. 3) Les usages de base incluent le tirage d'images et les conteneurs en cours d'exécution. Les usages avancés tels que DockerCompose peuvent définir des applications multi-container. 4) Débogage des commandes Dockerlogs et DockErexec couramment utilisées. 5) L'optimisation des performances peut réduire la taille de l'image grâce à la construction en plusieurs étapes, et garder le Dockerfile simple est la meilleure pratique.

Docker est un outil basé sur la technologie Linux Container utilisé pour emballer, distribuer et exécuter des applications pour améliorer la portabilité et l'évolutivité des applications. 1) Les commandes DockerBuild et Dockerrun peuvent être utilisées pour construire et exécuter des conteneurs Docker. 2) DockerCompose est utilisé pour définir et exécuter des applications Docker multi-container pour simplifier la gestion des microservices. 3) L'utilisation de la construction en plusieurs étapes peut optimiser la taille de l'image et améliorer la vitesse de démarrage de l'application. 4) La visualisation des journaux des conteneurs est un moyen efficace de déboguer les problèmes de conteneurs.

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Version Mac de WebStorm
Outils de développement JavaScript utiles