문자 집합

문자 집합에 대한 주요 지식

알아야 할 사항:

1. 일반적으로 사용되는 문자 집합

2. 데이터베이스에서는 어떤 문자 집합을 사용합니까? 🎜>

영어 문자 집합:

QQ截图20161009151258.png

ASCII

ASCII 코드는 지정된 7비트 또는 8비트 이진수 조합을 사용하여 128 또는 256개의 가능한 문자를 나타냅니다. 기본 ASCII 코드라고도 하는 표준 ASCII 코드는 7비트 이진수를 사용하여 모든 대문자와 소문자, 숫자 0~9, 구두점 및 미국 영어에 사용되는 특수 제어 문자를 나타냅니다.

그 중
0~31과 127(총 33개)은 제어 문자 또는 통신 전용 문자(나머지는 표시 가능한 문자)입니다. 예를 들어 제어 문자: LF(줄 바꿈), CR(캐리지 리턴) ), FF( 페이지 피드), DEL(삭제), BS(백스페이스), BEL(링) 등 통신 특수 문자: SOH(텍스트 헤드), EOT(텍스트 끝), ACK(확인) 등 .; ASCII 값은 8, 9, 10 및 13이며 각각 백스페이스, 탭, 줄 바꿈 및 캐리지 리턴 문자로 변환됩니다. 특정 그래픽 표시가 없지만 응용 프로그램에 따라 텍스트 표시에 다른 효과가 있습니다.
32~126(총 95개)은 문자(32는 공백)이고, 그 중 48~57은 0부터 9까지의 10개의 아라비아 숫자입니다.
숫자 65~90은 대문자 영문자 26자, 숫자 97~122는 영문 소문자 26자, 나머지는 구두점, 산술 기호 등입니다.

GBK

GBK는 이전 버전인 GB 2312 인코딩과 호환됩니다. 중화인민공화국이 규정한 한자 컴퓨터 인코딩 규격이다. 이전 버전은 GB2312입니다.

유니코드

유니코드(유니코드, 유니버설 코드, 유니코드) 유니코드는 세계의 모든 텍스트와 기호를 수용할 수 있는 국제기구에서 개발한 문자 인코딩 체계입니다. 교차 언어 및 교차 플랫폼 텍스트 변환 및 처리 요구 사항을 충족합니다.

UTF-8

은 유니코드용 가변 길이 문자 인코딩이자 범용 코드이기도 합니다. UNICODE는 ASCII보다 두 배의 공간을 차지하고 상위 바이트 0은 ASCII에 쓸모가 없기 때문입니다. 이러한 문제를 해결하기 위해 몇 가지 중간 형식의 문자 집합이 등장했는데 이를 범용 변환 형식, 즉 UTF(Universal Transformation Format)

실제 작업에서 사용하는 인코딩

중국어에서 일반적으로 사용되는 문자 집합은 utf-8과 GBK로 구분됩니다.

실제로 사용되는 문자는 다음과 같습니다.

QQ截图20161009151421.png

(그림 1)의 특성을 살펴보면 MySQL 문자 집합이 세 부분으로 구성되어 있음을 알 수 있습니다.


1. 문자 집합 2. 언어
3. 유형

마지막 bin은 바이너리 문자 집합을 의미하고, 다음 ci는 문자의 크기를 의미합니다. Write를 저장하고 정렬할 때 구별되지 않는 것입니다.

참고:

Mysql은 utf-8을 작성할 때 utf8을 작성합니다. 중간 수평선을 추가하지 마십시오.

(사진 1)


QQ截图20161009151437.png

1. MySQL 캐릭터셋에 대하여

MySQL의 캐릭터셋 지원(Character Set Support)은

캐릭터셋(Character set)과 정렬방식(Collation)의 두 가지 측면을 가지고 있습니다.

MySQL의 문자 집합 지원은 서버, 데이터베이스, 테이블 및 연결의 네 가지 수준으로 세분화되었습니다.

MySQL의 문자 세트 사양은 데이터베이스, 테이블 및 열에 어떤 문자 세트를 사용해야 하는지에 따라 세분화될 수 있습니다.

2. MySQL 문자셋 보기

2.1 문자셋 설정 보기

mysql> show variables like 'character_set_%';

QQ截图20161009151450.png


2.2. 문자 집합 정렬 설정 보기

mysql> show variables like 'collation_%';

QQ截图20161009151503.png


3. MySQL 문자 집합 수정

3.1 서버 레벨 문자 세트 수정

a. 임시 수정

mysql>SET GLOBAL character_set_server=utf8;

b. 영구 수정

/etc/mysql/my.cnf를 열고 문자 세트를 추가합니다. [mysqld] server=utf8

3.2 데이터베이스 레벨 수정

a.임시 변경

mysql>SET GLOBAL character_set_database=utf8;

b.영구 변경

서버 레벨만 변경

3.3 테이블 레벨 수정

mysql>ALTER TABLE table_name DEFAULT CHARSET utf8;

변경 사항은 영구적으로 적용됩니다.


3.4 컬럼 레벨 수정 예시

mysql>ALTER TABLE `products` CHANGE `products_model` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; 更改了后永久生效

3.5 연결 문자 변경 set

a. 임시 변경: mysql> SET GLOBAL Character_set_client;

b. 영구 변경: /etc/mysql/my.cnf를 열고 default-character-set=utf8

을 추가합니다. [클라이언트] 이후

지속적인 학습
||
<?php echo "Hello Mysql"; ?>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!