>  기사  >  데이터 베이스  >  mysql 인코딩 변환

mysql 인코딩 변환

WBOY
WBOY원래의
2023-05-08 10:22:072085검색

MySQL은 데이터를 저장하고 관리하는 데 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. MySQL을 사용하다 보면 데이터를 인코딩해야 하는 경우가 있습니다. 인코딩 변환은 하나의 문자 세트 인코딩을 다른 문자 세트 인코딩으로 변환하는 것을 의미합니다. 일반적인 문자 세트 인코딩에는 UTF-8, GBK, GB2312 등이 포함됩니다.

MySQL에서는 변환 함수와 캐스트 함수를 사용하여 인코딩 변환을 수행할 수 있습니다.

  1. 인코딩 변환에 변환 함수 사용

변환 함수는 문자열을 한 문자 세트 인코딩에서 다른 문자 세트 인코딩으로 변환할 수 있습니다. 구문은 다음과 같습니다.

convert(expr, charset, [binary])

그 중 expr은 변환해야 할 문자열, charset은 대상 인코딩의 문자 집합, bin은 사용되는 선택적 매개 변수입니다. 변환 모드를 사용할지 여부를 지정합니다.

예를 들어 gb2312로 인코딩된 문자열을 utf8로 인코딩된 문자열로 변환합니다.

SELECT CONVERT('中国',CHARACTER SET utf8);

실행 결과는 다음과 같습니다.

+---------------+
| CONVERT('中国',CHARACTER SET utf8) |
+---------------+
| 中国         (中文字符)        |
+---------------+
  1. 인코딩 변환에 캐스트 함수를 사용하세요

캐스트 함수를 사용하여 한 문자 세트 인코딩을 다른 문자 세트 인코딩으로 변환합니다. 구문은 다음과 같습니다.

cast(expr as type)

여기서 expr은 변환해야 하는 문자열이고 type은 대상 문자 집합 인코딩 유형입니다.

예를 들어 gbk로 인코딩된 문자열을 utf8로 인코딩된 문자열로 변환합니다.

SELECT CAST('中国' as CHAR CHARACTER SET utf8);

실행 결과는 다음과 같습니다.

+------------------------------------+
| CAST('中国' as CHAR CHARACTER SET utf8) |
+------------------------------------+
| 中国                            |
+------------------------------------+

cast 함수는 기존 데이터 유형을 다른 데이터 유형으로만 변환할 수 있다는 점에 유의해야 합니다. 데이터 유형 자체가 일치하지 않으면 캐스트 기능을 통한 변환이 불가능합니다.

인코딩 변환 기능을 사용하는 것 외에도 MySQL 구성 파일 my.ini에서 구성할 수도 있습니다. my.ini에서 MySQL 서버의 문자 집합과 데이터 정렬을 지정하려면 Character-set-server 및 collation-server 매개 변수를 설정해야 합니다. 예를 들어 MySQL 서버의 기본 문자 집합 인코딩을 utf8로 변경합니다.

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci

동시에 데이터베이스를 생성하고 테이블을 생성할 때 인코딩 유형도 지정할 수 있습니다. 예를 들어, utf8 문자 집합 인코딩 및 utf8_general_ci 데이터 정렬을 사용하여 데이터베이스를 생성합니다:

CREATE DATABASE mydatabase
    DEFAULT CHARACTER SET utf8
    DEFAULT COLLATE utf8_general_ci;

utf8 문자 집합 인코딩 및 utf8_general_ci 데이터 정렬을 사용하여 테이블 생성:

CREATE TABLE mytable (
    id INT NOT NULL,
    name VARCHAR(50) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

요약:

MySQL은 UTF-8을 포함한 여러 문자 집합 인코딩을 지원합니다. GBK, GB2312 등 MySQL을 사용할 때 다중 언어를 지원하고 문자열의 올바른 위치를 지원하려면 올바른 문자 세트 인코딩 및 대조를 설정해야 합니다. 인코딩 변환을 위해 변환 함수 및 캐스트 함수를 사용하거나 MySQL 구성 파일 my.ini에서 문자 세트 및 콜레이션을 지정할 수 있습니다.

위 내용은 mysql 인코딩 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.