recherche
MaisonOpération et maintenanceDockerdocker mysql code chinois tronqué

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
  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

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

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密码 数据库名

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!

Déclaration
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
Docker sur Linux: applications et cas d'utilisationDocker sur Linux: applications et cas d'utilisationApr 17, 2025 am 12:10 AM

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: applications de conteneurisation pour la portabilité et l'évolutivitéDocker: applications de conteneurisation pour la portabilité et l'évolutivitéApr 16, 2025 am 12:09 AM

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.

Comment démarrer un conteneur par DockerComment démarrer un conteneur par DockerApr 15, 2025 pm 12:27 PM

É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".

Comment afficher les journaux de DockerComment afficher les journaux de DockerApr 15, 2025 pm 12:24 PM

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

Comment vérifier le nom du conteneur DockerComment vérifier le nom du conteneur DockerApr 15, 2025 pm 12:21 PM

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").

Comment créer des conteneurs pour DockerComment créer des conteneurs pour DockerApr 15, 2025 pm 12:18 PM

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]

Comment sortir du conteneur par DockerComment sortir du conteneur par DockerApr 15, 2025 pm 12:15 PM

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)

Comment copier des fichiers dans Docker à l'extérieurComment copier des fichiers dans Docker à l'extérieurApr 15, 2025 pm 12:12 PM

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.

See all articles

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)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Navigateur d'examen sécurisé

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

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

MantisBT

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

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles