Maison >base de données >tutoriel mysql >Convertir la sortie d'une requête MySQL en UTF8 ?
Vous devez utiliser la fonction CAST() ou CONVERT() pour convertir la sortie de la requête MySQL en UTF8. Ici, j'utilise MySQL version 8.0.12. Vérifions d'abord la version :
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)
Dans ce cas, si vous utilisez utf8, vous recevrez un avertissement concernant les alias car il a utf8mb4. Par conséquent, vous pouvez éviter l'avertissement en plaçant utf8mb4.
Remarque : N'utilisez jamais UTF8. Pour les versions actuelles, utilisez UTF8MB4
Voici la syntaxe pour convertir la sortie d'une requête MySQL en UTF8 :
SELECT yourColumnName1,convert(yourColumnName2 USING utf8) as anyVariableName FROM yourTableName;
Vous pouvez utiliser une autre syntaxe qui est la suivante :
SELECT yourColumnName1,CONVERT(CAST(yourColumnName2 as BINARY) USING utf8) as anyVariableName FROM yourTableName;
Pour comprendre la syntaxe ci-dessus, créons une table. La requête pour créer une table est la suivante :
mysql> create table ConvertOutputtoUtf8Demo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.79 sec)
Insérez quelques enregistrements dans la table à l'aide de la commande insert. La requête est la suivante :
mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('John',24); Query OK, 1 row affected (0.78 sec) mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Larry',21); Query OK, 1 row affected (0.15 sec) mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Carol',26); Query OK, 1 row affected (0.12 sec) mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Mike',27); Query OK, 1 row affected (0.18 sec) mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Sam',22); Query OK, 1 row affected (0.15 sec)
Affichez tous les enregistrements de la table à l'aide de l'instruction select. La requête est la suivante :
mysql> select *from ConvertOutputtoUtf8Demo;
Ce qui suit est le résultat :
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 24 | | 2 | Larry | 21 | | 3 | Carol | 26 | | 4 | Mike | 27 | | 5 | Sam | 22 | +----+-------+------+ 5 rows in set (0.00 sec)
Voici la requête pour convertir la sortie de la requête MySQL en UTF8 :
mysql> select Id,convert(Name using utf8) as ConvertToUtf8 from ConvertOutputtoUtf8Demo;
Ce qui suit est le résultat :
+----+---------------+ | Id | ConvertToUtf8 | +----+---------------+ | 1 | John | | 2 | Larry | | 3 | Carol | | 4 | Mike | | 5 | Sam | +----+---------------+ 5 rows in set, 1 warning (0.00 sec)
Vous pouvez utiliser une autre requête qui est comme suit :
mysql> SELECT Id,CONVERT(CAST(Name as BINARY) USING utf8) as ConvertToUtf8 FROM ConvertOutputtoUtf8Demo;
Voici le résultat :
+----+---------------+ | Id | ConvertToUtf8 | +----+---------------+ | 1 | John | | 2 | Larry | | 3 | Carol | | 4 | Mike | | 5 | Sam | +----+---------------+ 5 rows in set, 1 warning (0.00 sec)
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!