php 페이지에 중국어 문자가 깨져 있는 경우 어떻게 해야 하나요?
먼저 페이지를 열어 잘못된 PHP 파일을 표시합니다.
그런 다음 PHP 파일 상단에 다음을 작성합니다.
header('Content-type:text/html;charset=utf-8');
중국어로 표시합니다.
추천 매뉴얼 : php 자습 매뉴얼
관련 소개: #🎜 🎜#
1. 파일 인코딩: 페이지 파일(.html, .php 등) 자체가 저장되는 인코딩을 말합니다. 메모장과 드림위버는 페이지를 열 때 파일 인코딩을 자동으로 인식하므로 문제가 줄어듭니다. 그러나 ZendStudio는 기본 설정 구성에 따라 특정 인코딩의 파일만 자동으로 인식하지 않습니다. 나타납니다(깊게 느껴집니다). 2. 페이지 선언 인코딩: HTML 코드 HEAD에서 e8b088d6bcb59096041b1c501b34c57e 웹 페이지에 어떤 인코딩이 사용되는지 브라우저에 알려줍니다. 현재 XXX는 중국어 웹 사이트 개발에서 주로 GB2312 및 UTF-8 인코딩을 사용합니다. 3 데이터베이스 연결 인코딩: 데이터베이스를 수행할 때 사용되는 인코딩을 나타냅니다. 데이터베이스에 데이터를 전송하는 데 사용되는 인코딩은 데이터베이스 자체의 인코딩과 혼동되어서는 안 됩니다. 예를 들어, MySQL의 기본 인코딩은 latin1 인코딩입니다. 이는 MySQL이 데이터를 저장한다는 의미입니다. latin1 인코딩. 다른 인코딩으로 Mysql에 전송되는 데이터는 latin1 인코딩으로 변환됩니다. 웹 개발에서 인코딩이 어디에 포함되는지 알면 PHP 페이지가 왜곡되는 이유도 알 수 있습니다. 위의 세 가지 인코딩 대부분의 다양한 인코딩이 ASCII와 호환되므로 영어 기호는 표시되지 않지만 한자는 표시되지 않습니다. 다음은 몇 가지 일반적인 오류 상황 및 해결 방법입니다. 1. 데이터베이스는 UTF8 인코딩을 사용하며 페이지 선언 인코딩은 GB2312입니다. 이는 문자가 깨지는 가장 일반적인 원인입니다. 이때 PHP 스크립트에서 데이터를 직접 선택하면 PHP 페이지가 깨집니다. # 🎜🎜#mysql_query("SET NAMES GBK"); MYSQL 연결 인코딩을 설정하고 페이지 선언 인코딩이 여기에 설정된 연결 인코딩과 일치하는지 확인하세요. 페이지가 UTF-8로 인코딩된 경우 다음을 사용할 수 있습니다.
mysql_query("SET NAMES UTF8"); 페이지에 선언된 인코딩이 일반적으로 사용되는 UTF-8이 아닌 UTF8이라는 점에 유의하세요. 데이터베이스의 내부 인코딩과 일치하므로 연결 인코딩을 설정할 필요가 없습니다.
참고: 실제로 MYSQL의 데이터 입력은 위에서 언급한 것보다 더 복잡합니다. MYSQL 구성 파일 my.ini에 정의된 두 개의 기본 인코딩([client]의 기본 문자 세트 및 [mysqld]의 기본 문자 세트)은 클라이언트 연결과 데이터베이스에서 각각 사용되는 인코딩입니다. 기본적으로 위에서 지정한 인코딩은 실제로 MYSQL 클라이언트가 서버에 연결할 때 명령줄 매개변수인 Character_set_client이며, 이는 기본 인코딩을 사용하는 대신 MYSQL 서버에 수신된 클라이언트 데이터가 무엇인지 알려줍니다. 🎜#2. 페이지 선언 인코딩이 파일 자체의 인코딩과 일치하지 않습니다. 인코딩이 일치하지 않으면 페이지를 만들 때 브라우저에 표시되는 내용이 깨질 수 있기 때문에 이런 일이 거의 발생하지 않습니다. 대부분의 경우 출시 후 사소한 버그를 수정하고 잘못된 인코딩으로 페이지를 연 다음 저장함으로써 발생합니다. 또는 일부 FTP 소프트웨어를 사용하여 CuteFTP와 같은 온라인으로 파일을 직접 수정하는 경우 잘못된 소프트웨어 인코딩 구성으로 인해 잘못된 인코딩이 변환됩니다.
3. 가상 호스트를 임대하는 일부 친구는 위의 세 가지 인코딩을 올바르게 설정했음에도 불구하고 여전히 PHP 페이지가 깨져 있습니다. 예를 들어 웹 페이지가 GB2312로 인코딩된 경우 IE와 같은 브라우저에서 열 때 항상 UTF-8로 인식됩니다. 웹 페이지의 HEAD에는 브라우저 인코딩을 GB2312로 수동 변경한 후 이미 GB2312라고 명시되어 있습니다. , 페이지가 정상적으로 표시됩니다. 그 이유는 Apache 서버가 서버의 전역 기본 인코딩을 설정하고 httpd.conf에 AddDefaultCharset UTF-8을 추가하기 때문입니다. 이때 서버는 먼저 HTTP 헤더를 브라우저에 보내며, 페이지에 선언된 인코딩보다 우선순위가 높으므로 당연히 브라우저는 이를 잘못 인식하게 됩니다. 두 가지 해결 방법이 있습니다. 관리자는 자체 가상 머신의 구성 파일에 AddDefaultCharset GB2312를 추가하여 전역 구성을 재정의하거나 자체 디렉터리의 .htaccess에서 구성해야 합니다.
추천 관련 기사:
1.PHP에서 중국어 왜곡 문자를 해결하는 방법은 무엇입니까? PHP에서 중국어 왜곡 문자의 세 가지 상황 소개
관련 영상 추천: 1.
丁古九经(4)_PHP 영상 튜토리얼#🎜🎜 #
위 내용은 PHP 페이지의 중국어 코드가 깨졌습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!