
- Learn MySQL
- MySQL - Home
- MySQL - Introduction
- MySQL - Installation
- MySQL - Administration
- MySQL - PHP Syntax
- MySQL - Connection
- MySQL - Create Database
- MySQL - Drop Database
- MySQL - Select Database
- MySQL - Data Types
- MySQL - Create Tables
- MySQL - Drop Tables
- MySQL - Insert Query
- MySQL - Select Query
- MySQL - Where Clause
- MySQL - Update Query
- MySQL - Delete Query
- MySQL - Like Clause
- MySQL - Sorting Results
- MySQL - Using Join
- MySQL - NULL Values
- MySQL - Regexps
- MySQL - Transactions
- MySQL - Alter Command
- MySQL - Indexes
- MySQL - Temporary Tables
- MySQL - Clone Tables
- MySQL - Database Info
- MySQL - Using Sequences
- MySQL - Handling Duplicates
- MySQL - SQL Injection
- MySQL - Database Export
- MySQL - Database Import
Convert output of MySQL query to UTF8?
You need to use CAST() or CONVERT() function to convert output of MySQL query to UTF8. Here, I am using MySQL version 8.0.12. Let us first check the version:
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)
In this if you use utf8 then you will get warning of aliases because it has utf8mb4. Therefore, you can avoid the warning by placing utf8mb4.
Note: Never use UTF8. For current versions, use UTF8MB4
Here is the syntax to convert output of MySQL query to UTF8:
SELECT yourColumnName1,convert(yourColumnName2 USING utf8) as anyVariableName FROM yourTableName;
You can use another syntax which is as follows:
SELECT yourColumnName1,CONVERT(CAST(yourColumnName2 as BINARY) USING utf8) as anyVariableName FROM yourTableName;
To understand the above syntax, let us create a table. The query to create a table is as follows:
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)
Insert some records in the table using insert command. The query is as follows:
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)
Display all records from the table using select statement. The query is as follows:
mysql> select *from ConvertOutputtoUtf8Demo;
The following is the output:
+----+-------+------+ | 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)
Here is the query to convert output of MySQL query to UTF8:
mysql> select Id,convert(Name using utf8) as ConvertToUtf8 from ConvertOutputtoUtf8Demo;
The following is the output:
+----+---------------+ | Id | ConvertToUtf8 | +----+---------------+ | 1 | John | | 2 | Larry | | 3 | Carol | | 4 | Mike | | 5 | Sam | +----+---------------+ 5 rows in set, 1 warning (0.00 sec)
You can use another query which is as follows:
mysql> SELECT Id,CONVERT(CAST(Name as BINARY) USING utf8) as ConvertToUtf8 FROM ConvertOutputtoUtf8Demo;
The following is the output:
+----+---------------+ | Id | ConvertToUtf8 | +----+---------------+ | 1 | John | | 2 | Larry | | 3 | Carol | | 4 | Mike | | 5 | Sam | +----+---------------+ 5 rows in set, 1 warning (0.00 sec)
- Related Articles
- How to save MySQL query output to excel or .txt file?
- MySQL query to convert timediff() to seconds?
- MySQL query to convert timestamp to month?
- MySQL convert timediff output to day, hour, minute, second format?
- MySQL Query to convert from datetime to date?
- MySQL query to convert height format to centimeters?
- MySQL query to convert empty values to NULL?
- How to convert a String to and fro from UTF8 byte array
- How can I get the output of multiple MySQL tables from a single query?
- MySQL query to convert a string into a month (Number)?
- MySQL query to convert a single digit number to two-digit
- MySQL query to add days with interval of 45 days and display the output in a new column
- How to convert date YYYYMMDD to YY-MM-DD in MySQL query?
- How to convert US date format to MySQL format in INSERT query?
- What kind of output is returned by MySQL scalar subquery? What are the restrictions on using it with MySQL query?
