Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 쿼리의 출력을 UTF8로 변환하시겠습니까?

<시간/>

MySQL 쿼리의 출력을 UTF8로 변환하려면 CAST() 또는 CONVERT() 함수를 사용해야 합니다. 여기서는 MySQL 버전 8.0.12를 사용하고 있습니다. 먼저 버전을 확인하겠습니다.

mysql> 버전 선택();+-----------+| 버전() |+-----------+| 8.0.12 |+-----------+1 행 세트(0.00초)

여기서 utf8을 사용하면 utf8mb4가 있기 때문에 별칭에 대한 경고를 받게 됩니다. 따라서 utf8mb4를 배치하여 경고를 피할 수 있습니다.

참고 :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;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table ConvertOutputtoUtf8Demo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개( 0.79초)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다.

mysql> Insert into ConvertOutputtoUtf8Demo(Name,Age) values('John',24);Query OK, 1개 행 영향(0.78초)mysql> ConvertOutputtoUtf8Demo(Name,Age) values('Larry',21)에 삽입;Query OK, 영향을 받는 1행(0.15초)mysql> ConvertOutputtoUtf8Demo(Name,Age) values('Carol',26)에 삽입;Query OK, 영향을 받는 1행(0.12초)mysql> ConvertOutputtoUtf8Demo(Name,Age)에 삽입 values('Mike',27);쿼리 확인, 1행 영향(0.18초)mysql> ConvertOutputtoUtf8Demo(Name,Age)에 삽입 values('Sam',22);쿼리 확인, 1행 영향(0.15초) 

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.

mysql> select *from ConvertOutputtoUtf8Demo;

다음은 출력입니다.

+----+-------+------+| 아이디 | 이름 | 나이 |+----+-------+------+| 1 | 존 | 24 || 2 | 래리 | 21 || 3 | 캐롤 | 26 || 4 | 마이크 | 27 || 5 | 샘 | 22 |+----+-------+------+5행 세트(0.00초)

다음은 MySQL 쿼리의 출력을 UTF8로 변환하는 쿼리입니다.

mysql> ConvertOutputtoUtf8Demo에서 Id,convert(utf8을 사용하는 이름)을 ConvertToUtf8로 선택;

다음은 출력입니다.

+----+---------------+| 아이디 | ConvertToUtf8 |+----+--------------+| 1 | 존 || 2 | 래리 || 3 | 캐롤 || 4 | 마이크 || 5 | Sam |+----+---------------+세트에 행 5개, 경고 1개(0.00초)

다음과 같은 다른 쿼리를 사용할 수 있습니다.

mysql> SELECT Id,CONVERT(CAST(Name as BINARY) USING utf8) as ConvertToUtf8 FROM ConvertOutputtoUtf8Demo;

다음은 출력입니다.

+----+---------------+| 아이디 | ConvertToUtf8 |+----+--------------+| 1 | 존 || 2 | 래리 || 3 | 캐롤 || 4 | 마이크 || 5 | Sam |+----+---------------+세트에 행 5개, 경고 1개(0.00초)