>백엔드 개발 >PHP 문제 >PHP가 mysql을 읽을 때 한자가 깨지는 문제를 해결하는 방법은 무엇입니까?

PHP가 mysql을 읽을 때 한자가 깨지는 문제를 해결하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-07-16 14:43:453432검색

해결책: 1. 를 사용하여 웹 페이지 파일에서 UTF-8 인코딩을 설정합니다. 2. 새 데이터베이스를 생성할 때 UTF-8 인코딩을 설정합니다. 3. PHP로 데이터베이스에 연결할 때 "mysql_query("set names)를 사용합니다. 'utf8'"); "데이터의 문자 집합을 utf-8로 설정합니다.

PHP가 mysql을 읽을 때 한자가 깨지는 문제를 해결하는 방법은 무엇입니까?

MySQL의 중국어 지원은 여전히 ​​매우 제한적입니다. 특히 초보자에게는 문자가 깨져서 문제가 발생할 때마다 큰 골칫거리가 될 것입니다.

잘못된 코드 문제:

PHPmyAdmin을 사용하여 MySQL 데이터베이스를 작동하면 한자가 정상적으로 표시되지만, PHP 웹 페이지를 사용하여 MySQL 데이터를 표시하면 모든 한자가 ? 기호로 표시됩니다.

증상: PHPmyAdmin을 사용하여 한자를 입력하는 것이 정상인데, PHP 웹페이지에서 MySQL 데이터를 표시할 때 한자가 ? 기호로 바뀌고 ? 기호가 한자 수만큼 많이 나타납니다.

이유: PHP 웹페이지에는 MySQL에게 중국어 문자를 출력할 문자 세트를 알려주는 코드가 없습니다.

해결책:

1. 웹 페이지 파일의 헤드에 대한 인코딩을 설정하세요

<meta charset="UTF-8">

2. PHP 페이지를 저장할 때 메모장이나 Convertz802를 사용하여 파일을 변환할 수 있습니다. MYSQL에서 새로 생성 데이터베이스에 들어갈 때 데이터베이스는 UTF-8 인코딩을 선택합니다. 즉, 문자셋은 utf-8_unicode_ci(유니코드(다국어), 대소문자 구분 안함)로 설정되어 있고, 테이블 배열은 입니다. 라이브러리는 utf-8_general_ci

로 설정됩니다. 테이블의 각 필드 배열은 utf-8_general_ci

4로 설정됩니다. PHP가 데이터베이스에 연결되면, mysql_connect() 뒤에 utf-8_general_ci

表里面的每个字段的 整理 都设置为 utf-8_general_ci

//设置数据的字符集utf-8
mysql_query("set names &#39;utf8&#39;");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

를 추가하세요. utf-8이 아니라 utf8이라는 점에 유의하세요.

웹페이지 인코딩이 gb2312인 경우 이름을 GB2312로 설정하세요. 그러나 편집자는 웹 페이지 인코딩, MySQL 데이터 테이블 문자 집합 및 PHPmyAdmin 모두 UTF-8을 사용할 것을 강력히 권장합니다.

위 네 가지 사항을 통해 전체 사이트에 대해 UTF-8 인코딩을 달성할 수 있으며 데이터베이스에 중국어 왜곡 문자가 없습니다.

확장:

잘못된 코드 문제: PHPmyAdmin으로 데이터를 입력할 때 오류가 발생하여 입력이 허용되지 않거나 잘못된 코드가 나타납니다.

해결 방법: 설정 문제입니다. 최신 버전의 PHPmyAdmin 또는 Appserv를 설치하고, PHPmyAdmin을 열고, MySQL 문자 세트: UTF-8 유니코드(utf8); MySQL 연결 교정은 새 데이터베이스를 생성할 때 utf8_unicode_ci여야 합니다. 마무리 열에서도 utf8_unicode_ci를 선택하십시오.

웹 문자셋으로 utf-8을 사용하는 것도 가장 좋습니다. UTF-8은 국제 표준 인코딩이자 추세입니다.

관련 권장 사항:

PHP 튜토리얼

위 내용은 PHP가 mysql을 읽을 때 한자가 깨지는 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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