PHP 웹 페이지에서 문자가 깨지는 현상은 일반적으로 데이터베이스 생성 시 사용된 인코딩과 PHP 웹 페이지의 인코딩 차이로 인해 발생합니다.
phpmyadmin으로 생성된 데이터베이스의 인코딩을 지정하지 않으면 기본 인코딩은 다음과 같습니다. latin1_swedish_ci.Swedish는 대소문자를 구분하지 않으며, 중국에서 만드는 웹페이지는 GBK 또는 GB2312로 인코딩되어 있으므로 잘못된 코드가 없으면 이상할 것입니다.
1. 🎜> 여기서는 초보자의 혼동을 피하기 위해 일반적으로 사용되는 인코딩에 대해 이야기하겠습니다.
간체 중국어 웹페이지를 만드는 경우 데이터베이스를 구축하는 경우 GB2312 인코딩, gb2312_chinese_ci를 사용해야 합니다.
중국어 번체 웹 페이지인 경우 데이터베이스 구축 시 gib5 인코딩, big5_chinese_ci를 사용해야 합니다.
중국어 간체 및 번체 모두로 웹 페이지를 만드는 경우 GBK 인코딩을 사용하는 것이 좋습니다. GBK에는 더 많은 내용이 포함되어 있습니다. GB2312보다 문자 코드가 많으며 중국어 번체도 물론 포함됩니다.
다국어 웹페이지를 만드는 경우에는 UTF-8 인코딩을 사용하는 것이 좋습니다. mysql에서는 두 가지 utf8 인코딩을 선택할 수 있습니다. : utf8_unicode_ci 및 utf8_general_ci. 저자는 일반적으로 utf8_general_ci를 사용합니다. 이 두 인코딩의 차이점은 이 사이트의 다른 기사를 참조하세요. Mysql 교정 세트 utf8_unicode_ci 및 utf8_general_ci 차이점
우리는 UTF-8 인코딩을 예로 사용합니다. 그림과 같은 데이터베이스:
2. PHP로 데이터베이스에 연결할 때 mysq_query를 사용하여 인코딩을 설정합니다
구문: mysql_query("SET NAMES 'utf8'");코드 복사 코드는 다음과 같습니다.
$c
mysql_query("set names 'utf8'",$conn); //잘못된 문자 해결
mysql_select_db('test1',$conn);
새 아이디어 웹페이지는 gb2312인데 빌드된 웹페이지를 big5로 변경했습니다. 어떻게 문자가 깨지지 않을 수 있나요? 해결 방법은 매우 간단합니다. 다시 저장하고 인코딩을 지정하면 괜찮습니다. 여전히 확실하지 않은 경우 웹 페이지
header("Content-Type: text/html;charset=utf-8")