MySQL クエリの出力を UTF8 に変換するには、CAST() または CONVERT() 関数を使用する必要があります。ここでは、MySQL バージョン 8.0.12 を使用しています。まずバージョンを確認しましょう:
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)
この例では、utf8 を使用している場合、utf8mb4 があるため、エイリアスの警告が表示されます。したがって、utf8mb4.
Note: UTF8 を使用しないでください。現在のバージョンでは、UTF8MB4
MySQL クエリの出力を UTF8 に変換する構文を次に示します:
SELECT yourColumnName1,convert(yourColumnName2 USING utf8) as anyVariableName FROM yourTableName;
次のような別の構文を使用することもできます:
SELECT yourColumnName1,CONVERT(CAST(yourColumnName2 as BINARY) USING utf8) as anyVariableName FROM yourTableName;
To上記の構文を理解したら、テーブルを作成してみましょう。テーブルを作成するクエリは次のとおりです。
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 コマンドを使用してテーブルにレコードをいくつか挿入します。クエリは次のとおりです。
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)
select ステートメントを使用してテーブルのすべてのレコードを表示します。クエリは次のとおりです:
mysql> select *from ConvertOutputtoUtf8Demo;
出力は次のとおりです:
+----+-------+------+ | 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)
MySQL クエリの出力を UTF8 に変換するクエリは次のとおりです:
mysql> select Id,convert(Name using utf8) as ConvertToUtf8 from ConvertOutputtoUtf8Demo;
次は出力:
+----+---------------+ | Id | ConvertToUtf8 | +----+---------------+ | 1 | John | | 2 | Larry | | 3 | Carol | | 4 | Mike | | 5 | Sam | +----+---------------+ 5 rows in set, 1 warning (0.00 sec)
次のような別のクエリを使用できます:
mysql> SELECT Id,CONVERT(CAST(Name as BINARY) USING utf8) as ConvertToUtf8 FROM ConvertOutputtoUtf8Demo;
次は出力です:
+----+---------------+ | Id | ConvertToUtf8 | +----+---------------+ | 1 | John | | 2 | Larry | | 3 | Carol | | 4 | Mike | | 5 | Sam | +----+---------------+ 5 rows in set, 1 warning (0.00 sec)
以上がMySQL クエリの出力を UTF8 に変換しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。