>  기사  >  백엔드 개발  >  PHP 페이지의 중국어 코드가 깨졌습니다.

PHP 페이지의 중국어 코드가 깨졌습니다.

藏色散人
藏色散人원래의
2019-09-17 10:23:136488검색

PHP 페이지의 중국어 코드가 깨졌습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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