왜 한자가 깨져서 나오는 걸까요?
많은 초보 친구들이 PHP를 배울 때, 프로그램의 중국어가 출력될 때 깨질 수 있다는 것을 알게 됩니다. 그러면 왜 이런 깨짐 현상이 발생합니까? 일반적으로 잘못된 문자가 나타나는 데에는 두 가지 이유가 있습니다. 하나는 잘못된 인코딩(문자 집합) 설정으로 인해 브라우저가 잘못된 인코딩으로 구문 분석하여 화면이 지저분한 "천국의 책"으로 가득 차게 되는 것입니다. 두 번째는 파일이 잘못된 인코딩으로 연 다음 저장하는 경우입니다. 예를 들어 텍스트 파일이 원래 GB2312로 인코딩되어 있지만 UTF-8 인코딩으로 열리고 저장되면 잘못된 문자가 나타납니다. 이 기사에서는 PHP에서 잘못된 문자 문제를 해결하는 방법을 보여줍니다.
가블드 코드 상황을 다음과 같은 유형으로 나눕니다. 필요한 경우 다음 상황을 참조하여 목표한 방식으로 코드가 깨졌을 때 해결할 수 있습니다.
첫 번째 유형: 잘못된 코드 문제에 대한 중국어 HTML 방법 해결
HTML 파일에 잘못된 코드 문제가 있는 경우 헤드 태그에 UTF8 인코딩(국제 인코딩)을 추가할 수 있습니다. UTF-8은 즉, 어떤 언어에 구애받지 않고 어떤 언어라도 사용할 수 있습니다.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
예
현재 HTML5 파일에서는 다음과 같이 인코딩 설정이 더 간단합니다
두 번째, HTML과 PHP 혼합 페이지 솔루션
HTML과 PHP를 혼합하는 방법, 첫 번째 방법에서 언급한 작업을 따르는 것 외에도 상단에 이 코드를 추가해야 합니다. PHP 파일:
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
세 번째, 순수 PHP 페이지의 중국어 왜곡 문제(데이터는 정적임)
PHP 페이지에 잘못된 문자가 있는 경우. 페이지 시작 부분에 다음 코드를 추가해야 합니다.
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
네 번째 유형, PHP+Mysql 중국어 왜곡 문제
세 번째 작업에 이어 데이터베이스 인코딩도 추가해야 합니다. 데이터를 쿼리/수정/추가하기 전에. 또한 여기의 UTF8은 이전 UTF8과 다르며 중간에 수평선이 없다는 점은 주목할 가치가 있습니다.
<?php mysql_query('SET NAMES UTF8'); //接下来的就是查出数据或者修改,增加 ?
MySQL 버전 4.1 이상을 사용하는 경우 데이터베이스 링크 작업 후 아래와 같이 문자 인코딩을 설정할 수 있습니다.
UTF-8 인코딩은 인코딩 중 하나일 뿐입니다. UTF-8 인코딩을 사용하지 않으려면 다른 인코딩을 사용해도 됩니다. 현재 중국 웹사이트에서는 UTF-8을 사용하려는 인코딩으로 바꾸면 됩니다. 개발 사용되는 두 가지 주요 인코딩은 GB2312와 UTF-8입니다.
주의할 점은 데이터베이스 작업을 수행해야 하는 PHP 프로그램 앞에 추가된 mysql_query("set names 'coding'") 코드가 PHP 코딩이 gb2312인 경우와 일치해야 한다는 것입니다. , mysql 인코딩은 gb2312입니다. utf-8인 경우 mysql 인코딩은 utf8이므로 데이터를 삽입하거나 검색할 때 문자가 깨지지 않습니다.
[관련 권장 사항]
1. HTML5 동영상 튜토리얼: "php.cn 원본 HTML5 동영상 튜토리얼"
2. PHP 동영상 튜토리얼: "php.cn Dugu Jiujian (4)-php 동영상 튜토리얼》
위 내용은 PHP에서 중국어 문자가 깨지는 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!