>  기사  >  데이터 베이스  >  MySQL에서 문자셋을 설정하는 방법

MySQL에서 문자셋을 설정하는 방법

PHPz
PHPz앞으로
2023-05-27 13:38:248512검색

1. 문자 집합의 개념

문자 집합은 코드와 문자 간의 매핑 관계를 표준화하고, 컴퓨터 문자의 인코딩 방식을 지정합니다. 다양한 데이터베이스 시스템의 문자 집합 설정은 다를 수 있으며, 다양한 문자 집합에는 고유한 특징과 장점이 있습니다. Latin1/Latin7과 비교하여 GB2312/GBK/GB18030은 한자 처리에 더 큰 이점을 가지고 있습니다.

MySQL에서 문자 세트는 데이터베이스, 테이블 및 열을 포함하여 문자 데이터가 인코딩되는 방식을 나타냅니다. 일반인의 용어로 문자 집합은 문자와 문자열을 저장하고 처리하는 데 사용되는 방식을 나타냅니다.

MySQL에서 지원되는 문자 집합에는 주로 ASCII, GBK, GB2312, UTF-8, UTF-16 및 ISO-8859 등이 포함됩니다. 그중 UTF-8은 MySQL에서 가장 일반적으로 사용되는 문자 집합입니다. 다양한 언어, 유연한 인코딩 형식, 공간 절약 및 기타 이점을 지원합니다.

2. MySQL 캐릭터셋 설정 방법

  1. MySQL에서 지원하는 캐릭터셋을 조회합니다

MySQL 데이터베이스에서는 명령어를 통해 해당 데이터베이스에서 지원하는 캐릭터셋을 조회할 수 있습니다.

SHOW CHARACTER SET;

이 명령은 다음과 같이 MySQL에서 사용할 수 있는 다양한 문자 집합을 나열할 수 있습니다.

Big5 전통 중국어big5_chinese_ci 2dec8DEC 서유럽dec8_swedish_ci1cp850DOS 서유럽cp8 50_general_ci1hp8HP 서유럽hp8_english_ci1koi8rKOI8-R Relcom Russiankoi8r_general_ci1latin1iso-8859-1 서유럽어 latin1_swedish_ci1latin2 iso-8859-2 중앙 유럽latin2_general_ci1swe77bit Swedishswe7_swedish_ci1asciiUS ASCII ascii_gener al_ci1ujisEUC-JP 일본어ujis_japanese_ci3sjisShift-JIS 일본어sjis_japanese_ci2hebrewiso-8859-8 히브리어hebrew_general_ci1tis620TIS620 태국어tis620_thai_ci 1euckrEUC-KR 한국어euckr_korean_ci2 koi8uKOI8-U 우크라이나어koi8u_general_ci1 gb2312GB2312 중국어 간체gb2312_chinese_ci 2greekiso-8859-7 그리스어greek_general_ci1cp1250Windows 중앙 유럽cp1250_general_ci 1gbkGBK 중국어 간체 gbk_chinese_ci2latin5iso-8859-9 터키어latin5_turkish_ci1armscii8ARMSCII-8 아르메니아어arm scii8_general_ci1 utf8UTF-8 유니코드utf8_general_ci3ucs2UCS-2 유니코드ucs2_general_ci2cp866DOS 러시아어cp866_general_ci1keybcs2DOS Kamenicky 체코어- 슬로바키아어keybcs2_general_ci1macceMac 중앙 유럽macce_general_ci1macromanMac West Europeanmacro man_general_ci1 cp852DOS 중앙 유럽cp852_general_ci1latin7iso-8859-13 발트해latin7_general_ci1 utf8mb4UTF-8 유니코드 utf8mb4_general_ci4cp1251Windows 키릴 문자 cp1251_general_ci1utf16UTF-16 유니코드utf16_general_ci4utf16leUTF-1 6LE 유니코드utf16le_general_ci4cp1256Windows 아랍어cp1256_general_ci1cp1257Windows 발트해cp1257_general_ci 1utf32UTF-32 유니코드 utf32_general_ci4binary이진 의사 문자 집합binary 1geostd8GEOSTD8 Georgiangeostd8_general_ci1cp932Windows용 SJIS 일본어cp932_japanese_ci2eucjpmsUJIS for Windows 일본어eucjpms_japanese_ci3
  1. 데이터베이스의 문자 집합 설정

새 MySQL 데이터베이스를 생성할 때 데이터베이스의 모든 테이블의 문자 집합이 이 문자 집합을 사용하도록 데이터베이스의 기본 문자 집합을 설정할 수 있습니다. 구체적인 단계는 다음과 같습니다.

2.1 먼저 MySQL에서 지원하는 문자 집합을 확인하세요.

mysql> SHOW CHARACTER SET;

2.2 새 데이터베이스를 생성할 때 문자 집합 설정을 추가하세요.

CREATE DATABASE new_db CHARACTER SET utf8;

또는

다음 문장이 다시 작성되었습니다. "기본 문자 집합인 utf8을 사용하여 'new_db'라는 새 데이터베이스를 만듭니다."

여기서 utf8은 일반적으로 사용되는 문자 집합 중 하나입니다.

  1. MySQL 테이블의 문자 집합 설정

테이블이 데이터를 올바르게 저장하고 표시할 수 있도록 하려면 테이블의 문자 인코딩을 설정해야 합니다. MySQL에서는 테이블을 생성할 때 테이블의 문자 집합을 설정할 수 있습니다. 이미 생성된 테이블은 ALTER 명령을 사용하여 수정할 수 있습니다.

3.1 테이블 생성 시 문자셋 설정

CREATE TABLE new_table (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

테이블을 설정하는 데 사용되는 스토리지 엔진은 ENGINE=InnoDB이고, 테이블을 설정하는 데 사용되는 기본 문자 집합은 CHARSET=utf8입니다.

3.2 테이블의 문자 집합 수정

ALTER TABLE old_table CONVERT TO CHARACTER SET utf8;

or

ALTER TABLE old_table MODIFY COLUMN name VARCHAR(50) CHARACTER SET utf8;

그 중 CONVERT TO 명령은 다음과 같습니다. 테이블을 수정하는 데 사용됩니다. 기본 문자 집합인 MODIFY COLUMN 명령은 테이블에 있는 열의 문자 집합을 수정하는 데 사용됩니다.

  1. MySQL 연결의 문자셋을 설정하세요

MySQL 서버에 연결할 때 작업의 문자셋도 설정할 수 있습니다. "클라이언트 문자 집합"이라고도 불리는 문자 집합 설정은 클라이언트 측에서 전송되는 데이터에 사용되는 문자 집합을 의미합니다.

4.1 현재 연결의 문자 집합 보기

mysql> SELECT @@character_set_connection;

4.2 연결의 문자 집합 수정

SET Character_set_connection = utf8;

or

mysql --default-character-set =utf8 -u root -p

이 중 SET 명령은 연결의 기본 문자 집합을 수정할 수 있으며, --default-character-set 명령은 클라이언트 문자 집합을 지정할 수 있습니다.

  1. 기타 문자 집합 설정

경우에 따라 덜 일반적인 데이터 저장 및 변환 요구 사항을 처리하기 위해 MySQL의 다른 문자 집합 설정을 활성화해야 할 수도 있습니다. 이 경우 MySQL 구성 파일-my.cnf 파일을 관리자 권한으로 수정해야 할 수도 있습니다. 수정 방법은 다음과 같습니다.

5.1 my.cnf 파일 찾기

Linux에서 my.cnf 파일은 일반적으로 /etc/my.cnf 또는 /etc/mysql/my.cnf 디렉터리에 저장됩니다.

Windows에서 my.cnf 파일은 일반적으로 MySQL 데이터베이스의 설치 디렉터리에 저장됩니다.

5.2 my.cnf 파일 수정

my.cnf 파일에 다음 명령문을 추가합니다.

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

그 중 Character_set_server 명령을 사용하여 나열된 문자 설정 설정, init_connect 명령은 연결을 생성할 때 문자 세트를 자동으로 설정하는 데 사용됩니다.

위 내용은 MySQL에서 문자셋을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제