>  기사  >  데이터 베이스  >  MySQL에서 UTF-8 인코딩을 설정하는 방법

MySQL에서 UTF-8 인코딩을 설정하는 방법

PHPz
PHPz원래의
2023-04-21 11:24:163523검색

MySQL은 다양한 웹사이트와 애플리케이션에서 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 인코딩 문제는 데이터베이스의 정확성과 데이터 무결성에 매우 중요합니다. 이 기사에서는 MySQL에서 UTF-8 인코딩을 설정하는 방법을 소개합니다.

1. UTF-8 인코딩 이해

1.1 UTF-8 소개

UTF-8은 유니코드 표준의 모든 문자를 표현할 수 있는 유니코드 문자 인코딩 형식이므로 국제화 및 다중 언어에서 널리 사용됩니다. 지원되는 웹사이트 및 앱에서. 다른 문자 인코딩 형식과 비교할 때 UTF-8은 더 작은 저장 공간을 사용하며 다양한 데이터 저장 및 전송 상황에 적합합니다.

1.2 UTF-8 인코딩 원리

UTF-8 인코딩은 가변 길이 인코딩 방식을 사용합니다. 일반적으로 1~4바이트가 문자를 나타내는 데 사용되며, 첫 번째 바이트는 문자의 전체 길이를 나타내는 데 사용됩니다. 바이트 수이며 다음 바이트는 특정 문자 내용을 저장하는 데 사용됩니다. 구체적인 인코딩 규칙은 다음과 같습니다.

범위                                                                                                             -0000 007F

0xxxxxxx0000 0080- 0000 07FF110xxxxx 10xxxxxx0000 0800-0000 1110xxxx 10xxxxxx 10xxxxxx0001 0000 -0010 FFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx2.1 my.cnf 구성 파일 수정 character-set-server=utf8collation-server=utf8_general_ci
여기서 x는 이진 비트, UTF를 나타냅니다. 인코딩 길이 8은 문자가 차지하는 바이트 수에 따라 달라집니다. 최대 4바이트를 나타낼 수 있습니다. 유니코드의 "상위 대리 섹션" 및 "하위 대리 섹션"인 문자입니다. 2. MySQL의 문자 인코딩 설정
Linux 환경에서 MySQL 구성 파일은 /etc/my.cnf에 다음 구성 항목을 추가하여 문자를 설정할 수 있습니다. : [mysqld]
그 중 charset-server는 MySQL이 기본적으로 테이블을 생성하는 데 사용하는 문자 집합을 설정하는 데 사용됩니다. , collation-server는 MySQL에서 사용되는 기본 문자 집합을 설정합니다. 여기에서는 데이터베이스의 다양한 문자의 정확성과 호환성을 보장하기 위해 모두 UTF-8 인코딩으로 설정되어 있습니다. 수정이 완료된 후 MySQL 서비스를 다시 시작하여 my.cnf 구성 파일을 다시 로드합니다.

$ service mysql restart

2.2 데이터베이스 직접 수정

기존 데이터베이스의 테이블 또는 필드의 문자 인코딩을 수정하려는 경우 , 다음 SQL 명령을 사용할 수 있습니다:

ALTER DATABASE 데이터베이스 이름 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;


그 중 utf8mb4는 MySQL에서 UTF-8 인코딩을 저장하는 방법이며 모든 유니코드 문자 인코딩을 나타낼 수 있습니다. 동시에, 서로 다른 MySQL 버전은 서로 다른 문자 인코딩 방법을 지원할 수 있으므로 문자 인코딩을 수정할 때는 해당 문서를 참조해야 합니다.

2.3 연결 인코딩 수정

PHP와 같은 프로그래밍 언어에서 MySQL에 연결하려면 데이터의 정확성을 보장하기 위해 문자 인코딩 설정도 필요합니다. MySQLi 연결에서는 다음 코드를 사용하여 설정할 수 있습니다:

$mysqli = new mysqli("localhost", "username", "password", "dbname");

mysqli_set_charset($mysqli,"utf8") ;

PDO 연결에서는 다음 코드를 사용할 수 있습니다:

$dsn = "mysql:host=localhost;dbname=dbname;charset=utf8";

$options = array(PDO::ATTR_ERRMODE => PDO: :ERRMODE_EXCEPTION);

$pdo = new PDO($dsn, "username", "password", $options);

3. 요약

MySQL은 웹사이트와 애플리케이션에서 널리 사용되는 관계형 데이터베이스로 올바르게 설정되어야 합니다. 인코딩이 중요합니다. 이 글의 소개를 통해 우리는 UTF-8 인코딩의 원리와 MySQL에서 문자 인코딩을 설정하는 방법을 이해했습니다. 실제 개발에서는 데이터의 정확성과 무결성을 보장하기 위해 다양한 요구 사항과 시나리오에 따라 MySQL의 문자 인코딩을 적절하게 설정해야 합니다.

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

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