>  기사  >  데이터 베이스  >  mysql의 문자 인코딩 수정

mysql의 문자 인코딩 수정

WBOY
WBOY원래의
2023-05-14 12:00:37857검색

MySQL은 UTF-8, GBK 등을 포함한 다중 문자 인코딩을 지원하는 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 실제 응용 프로그램에서는 실제 요구 사항을 충족하기 위해 MySQL의 문자 인코딩을 수정해야 하는 경우가 많습니다. 이 기사에서는 MySQL의 문자 인코딩을 수정하는 방법을 소개합니다.

  1. 현재 문자 인코딩 결정

MySQL의 문자 인코딩을 수정하기 전에 먼저 현재 문자 인코딩을 결정해야 합니다. 다음 명령을 통해 현재 문자 인코딩을 쿼리할 수 있습니다.

show variables like 'character_set_database';

출력 결과가 UTF-8이면 현재 문자 인코딩은 UTF-8입니다. 출력 결과가 GBK인 경우 현재 문자 인코딩은 GBK입니다.

  1. MySQL 서비스 중지

MySQL의 문자 인코딩을 수정하기 전에 먼저 MySQL 서비스를 중지해야 합니다. 다음 명령을 사용하여 MySQL 서비스를 중지할 수 있습니다.

sudo service mysql stop
  1. MySQL 구성 파일 수정

MySQL 구성 파일은 /etc/mysql/mysql.conf.d/mysqld.cnf에 있습니다. 편집기로 파일을 열고 다음 두 줄을 찾으세요.

collation-server = utf8_general_ci 
character-set-server = utf8

수정:

collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4

여기서 수정된 것은 UTF-8로의 인코딩입니다. 상황에 따라 다른 인코딩을 수정해야 할 수도 있습니다.

  1. MySQL 서비스 다시 시작

다음 명령을 통해 MySQL 서비스를 다시 시작할 수 있습니다.

sudo service mysql start
  1. 생성된 데이터베이스 및 테이블의 문자 집합을 수정합니다.

MySQL의 문자 집합이 수정된 후, 이전에 생성된 데이터베이스 및 테이블의 문자 집합은 자동으로 수정되지 않습니다. 생성된 데이터베이스와 테이블의 문자셋을 수동으로 수정해야 합니다.

다음 명령을 사용하여 데이터베이스의 문자 집합을 수정합니다.

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

그 중 dbname은 수정할 데이터베이스 이름을 나타내고, utf8mb4는 문자 집합을 나타내며, utf8mb4_unicode_ci는 collation을 나타냅니다.

테이블의 문자 집합을 수정하려면 다음 명령을 사용하세요.

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

그 중 tablename은 수정할 테이블 이름을 나타내고, utf8mb4는 문자 집합을 나타내며, utf8mb4_unicode_ci는 collation을 나타냅니다.

데이터 손실을 방지하려면 위 명령을 실행하기 전에 관련 데이터를 백업해야 한다는 점에 유의하세요.

  1. 접속시 문자셋 수정

MySQL 접속시 접속시 사용되는 문자셋을 지정해주셔야 합니다. 다음 명령을 통해 접속 시 문자셋을 지정할 수 있습니다.

mysql -u username -p --default-character-set=utf8mb4 dbname

여기서 username은 사용자 이름, dbname은 접속할 데이터베이스 이름, utf8mb4는 문자셋을 나타냅니다.

  1. 문자 집합 확인

마지막으로 다음 명령을 통해 문자 집합 수정이 성공했는지 확인할 수 있습니다.

show variables like 'character_set_database';

출력 결과가 수정된 문자 인코딩과 일치하면 수정이 성공한 것입니다.

요약

MySQL의 문자 인코딩을 수정할 때 주의해야 할 사항이 많습니다. 데이터 손실을 방지하려면 관련 데이터를 백업하는 데 주의가 필요합니다. 작업 시 주의하십시오. 특히 생성된 데이터베이스 및 테이블을 수정할 때는 주의하십시오. 공식 환경에 영향을 미치지 않도록 수정 시 먼저 테스트 환경에서 시도해 보시기를 권장합니다.

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

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