이 글은 mysql 데이터베이스의 중국어 왜곡 문제에 대한 자세한 설명을 중심으로 관련 정보를 소개하고 있습니다.
insert into employee values(null,'张三','female','1995-10-08','2015-11-12','Sales',2000,'是个好员工!')
; 出现乱码时,可以使用语句 show variables like 'character%'
모양의 한자가 포함된 데이터를 MySQL 데이터베이스에 삽입하면 현재 데이터베이스의 관련 인코딩 세트를 볼 수 있습니다.
위 그림에서 볼 수 있듯이 MySQL은 클라이언트, 연결, 데이터베이스, 결과, 서버, 시스템 6곳에서 문자 집합을 사용합니다. 그중 서버 관련 항목: 데이터베이스, 서버, 시스템(수정할 수 없으며 utf-8임); 클라이언트 관련 항목: 연결, 클라이언트, 결과.
client |
은 클라이언트가 사용하는 문자 집합입니다. |
connection |
은 데이터베이스에 연결하기 위한 문자 세트 유형을 설정합니다. 프로그램이 데이터베이스에 연결하는 데 사용되는 문자 세트 유형을 지정하지 않으면 서버를 따릅니다. 사이드 기본 문자셋 설정입니다. |
database |
은 데이터베이스 서버의 라이브러리에서 사용하는 문자 집합 설정입니다. 데이터베이스 구축 시 지정하지 않으면 서버 설치 시 지정한 문자 집합 설정이 적용됩니다. 사용됩니다. |
results |
은 데이터베이스가 클라이언트에 반환될 때 사용되는 문자 집합입니다. 지정하지 않으면 서버의 기본 문자 집합이 사용됩니다. |
server |
은 서버 설치 시 지정된 기본 문자 집합 설정입니다. |
system |
은 데이터베이스 시스템에서 사용하는 문자 집합 설정입니다. |
위의 정보를 이해한 후, 현재 CMD 클라이언트 입력은 GBK 인코딩을 사용하기 때문에 문제는 현재 CMD 클라이언트 창에 있으며, 인코딩 형식은 다음과 같습니다. 데이터베이스 UTF-8이며 일관성 없는 인코딩으로 인해 문자가 깨집니다. 현재 CMD 클라이언트의 인코딩 형식은 수정할 수 없으므로 연결, 클라이언트, 결과의 인코딩 세트만 수정하여 현재 삽입된 데이터가 GBK 인코딩을 사용하고 있음을 서버에 알릴 수 있습니다. 비록 서버의 데이터베이스는 UTF-8 인코딩을 사용하고 있지만, GBK로 인코딩된 데이터를 서버 측에 알리고 자동으로 UTF-8로 변환하여 저장합니다. 다음 명령문을 사용하여 클라이언트와 관련된 인코딩 세트를 빠르게 설정할 수 있습니다.
세트 이름 gbk
설정이 완료된 후 클라이언트에서 데이터가 삽입되거나 표시되는 문제를 해결할 수 있습니다. 그러나 곧 이 형식의 설정은 현재 창에서만 적용되는 것으로 나타났습니다.창을 닫은 후 CMD 클라이언트를 다시 열면 잘못된 문자가 나타납니다. 따라서 이를 한 번에 설정하는 방법은 다음과 같습니다. ? MySQL 설치 디렉터리에 my.ini 구성 파일이 있습니다. 이 구성 파일을 수정하면 잘못된 문제를 완전히 해결할 수 있습니다. 이 구성 파일에서 [mysql]은 클라이언트 구성과 관련되고, [mysqld]는 서버 구성과 관련됩니다. 기본 구성은 다음과 같습니다:
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
이때 기본 인코딩 default-character-set=utf8을 default-character-set=gbk로 변경하고 MySQL 서비스를 다시 시작하면 됩니다.
아직 배우셨나요? 긴급한 필요를 해결할 수 있기를 바랍니다.
관련 권장사항:
mysql 데이터베이스의 중국어 잘못된 문자에 대한 솔루션 요약
MySQL 데이터베이스에 대한 PHP 연결의 중국어 잘못된 문자에 대한 솔루션_PHP 튜토리얼
Mysql 데이터베이스에서 중국어 잘못된 문자를 해결하는 방법, 수정 구성 파일의 문자 인코딩이 효과가 없습니다
위 내용은 mysql 데이터베이스의 중국어 왜곡 문제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!