dw php 웹 페이지의 중국어 왜곡된 중국어 문자에 대한 솔루션: 1. 제목 인코딩을 UTF8로 설정합니다. 2. Dreamweaver를 사용하여 새 PHP 파일을 만들 때 "
"; 3, "mysql_query("SET NAMES GBK");"를 통해 MYSQL 연결 인코딩을 설정합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dreamweaver 버전 8, Dell G3 컴퓨터.
dw php 웹 페이지에 중국어 문자가 깨졌을 경우 어떻게 해야 합니까?
PHP 파일 미리 보기 인터페이스를 실행하는 Dreamweaver에서 중국어 문자 깨짐을 해결하는 방법
웹 사이트를 개발하려면 다양한 언어를 다루어야 하며 종종 접하게 됩니다. 중국어와 영어가 섞여있습니다. Dreamweaver를 사용하여 PHP 코드를 생성하고 실행할 때 중국어 미리보기 창에 문자가 깨져서 표시되는 경우가 있지만 영어는 정상적으로 표시됩니다.
이 상황의 주요 원인은 다음과 같습니다.
1. 파일 인코딩: 저장된 페이지 파일(.html, .php 등) 자체의 인코딩을 말합니다. 메모장과 드림위버는 페이지를 열 때 파일 인코딩을 자동으로 인식하므로 문제가 줄어듭니다. 그러나 ZendStudio는 인코딩을 자동으로 인식하지 못합니다. 작업 중에 실수로 잘못된 인코딩이 포함된 파일을 열면 수정 후 저장하자마자 잘못된 문자가 나타납니다.
해결 방법: 페이지 설정, 제목/인코딩, UTF8로 설정
2. 페이지 선언 인코딩:
HTML 페이지 인코딩 설정
HTML 코드 HEAD에서 브라우저 서버 웹페이지에 어떤 인코딩이 사용됩니까? 현재 XXX는 중국어 웹사이트 개발에서 주로 GB2312 및 UTF-8을 사용합니다. Dreamweaver를 사용하여 새 PHP 파일을 만들 때 utf-8 형식을 선언해야 합니다.
3. 데이터베이스 연결 인코딩: 데이터베이스 작업을 수행할 때 데이터베이스에 데이터를 전송하는 데 사용되는 인코딩을 나타냅니다. 예를 들어, 기본값과 혼동해서는 안 됩니다. MySQL의 내부 인코딩은 latin1 인코딩입니다. 즉, MySQL은 latin1 인코딩으로 저장됩니다. 데이터, 다른 인코딩으로 MySQL에 전송되는 데이터는 latin1 인코딩으로 변환됩니다.
이제 우리는 웹 개발에서 코딩이 어디에 관련되는지 알았으니 문자 깨짐의 원인도 알고 있습니다. 위의 세 가지 인코딩 설정은 대부분의 다양한 인코딩이 ASCII와 호환되므로 중국어 문자가 깨져서 표시되지 않습니다. 문자가 깨져 보입니다.
일반적인 오류 조건 및 해결 방법:
1. 데이터베이스는 UTF8 인코딩을 사용하며 페이지 선언 인코딩은 GB2312입니다. 이는 문자 깨짐의 가장 일반적인 원인입니다.
이때 PHP 스크립트에서 직접 SELECT 데이터가 깨집니다. 쿼리하기 전에 이를 사용해야 합니다. MYSQL 연결 인코딩을 설정하고 페이지 선언 인코딩이 일관되는지 확인하세요. 여기에 연결 인코딩이 설정되어 있습니다(GBK는 GB2312의 확장임). 페이지가 UTF-8로 인코딩된 경우 다음을 사용할 수 있습니다: mysql_query("SET NAMES UTF8");
PHP 인코딩 설정
php 코드의 첫 번째 문장에서 다음을 작성합니다.
<?php header("Content-type:text/html;charset=utf-8"); ?>
php.ini 파일 수정
"/etc/php5/apache2/php.ini"를 수정하여
default_charset = "iso-8859-1"
를 default_charset = "utf-8"
Mysql 인코딩 설정
<?php mysql_query('SET NAMES UTF8'); ?>
으로 변경합니다. 일반적으로 사용되는 UTF-가 아닌 UTF8이라는 점에 유의하세요. 8. 페이지 선언의 인코딩이 데이터베이스의 내부 인코딩과 일치하는 경우 연결 인코딩을 설정할 필요가 없습니다.
MYSQL의 데이터 입출력은 위에서 언급한 것보다 더 복잡합니다. MYSQL 구성 파일 my.ini에는 2가지 기본 인코딩이 정의되어 있는데, 이는 [클라이언트]에 기본 문자 세트이고 [에 기본 문자입니다. mysqld] -클라이언트 연결과 내부 데이터베이스에 각각 기본적으로 사용되는 인코딩을 설정합니다. 위에서 지정한 인코딩은 실제로 MYSQL 클라이언트가 서버에 연결할 때 명령줄 매개변수인 Character_set_client이며, 이는 기본 인코딩을 사용하는 대신 수신된 클라이언트 데이터의 인코딩이 무엇인지 MYSQL 서버에 알려줍니다.
이전 단계에 따르면 데이터를 쿼리/수정/추가하기 전에 데이터베이스 코딩도 추가해야 합니다.
2. 페이지 선언의 인코딩은 파일 자체의 인코딩과 일치하지 않습니다. 인코딩이 일치하지 않으면 페이지를 만들 때 아티스트가 브라우저에서 보는 내용이 깨질 수 있기 때문입니다. 대부분의 경우 출시 후 사소한 버그를 수정하고 잘못된 인코딩으로 페이지를 연 다음 저장함으로써 발생합니다. 또는 일부 FTP 소프트웨어를 사용하여 CuteFTP와 같은 온라인으로 파일을 직접 수정하는 경우 잘못된 소프트웨어 인코딩 구성으로 인해 잘못된 인코딩이 변환됩니다.
3. 가상 호스트를 임대할 때 위의 세 가지 인코딩이 올바르게 설정되어 있으면 여전히 문자가 깨질 수 있는 경우가 있습니다. 예를 들어 웹 페이지가 GB2312로 인코딩된 경우 IE와 같은 브라우저에서 열 때 항상 UTF-8로 인식됩니다. 웹 페이지의 HEAD에는 브라우저 인코딩을 GB2312로 수동 변경한 후 이미 GB2312라고 명시되어 있습니다. , 페이지가 정상적으로 표시됩니다. 그 이유는 Apache 서버가 서버의 전역 기본 인코딩을 설정하고 httpd.conf에 AddDefaultCharset UTF-8을 추가하기 때문입니다. 이때 서버는 먼저 HTTP 헤더를 브라우저에 보내며, 페이지에 선언된 인코딩보다 우선순위가 높으므로 당연히 브라우저는 이를 잘못 인식하게 됩니다. 두 가지 해결 방법이 있습니다. 관리자는 자체 가상 머신의 구성 파일에 AddDefaultCharset GB2312를 추가하여 전역 구성을 재정의하거나 자체 디렉터리의 .htaccess에서 구성해야 합니다.
요약: PHP에서 중국어 왜곡 코드를 해결하려면 페이지에 적용된 페이지 번호가 데이터베이스의 내부 인코딩과 일치하지 않는 경우 페이지에서 선언한 인코딩을 데이터베이스의 내부 인코딩과 일치시키는 것이 가장 빠른 해결책입니다. 데이터베이스, 연결 인코딩을 설정합니다. mysql_query("SET NAMES XXX ")는 연결 코드입니다. 예: mysql_query('SET NAMES UTF8'); [2]
마지막으로 중국어가 성공적으로 표시됩니다:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>中文</title> </head> <body> <h1>中文</h1> <?php echo "Hello World!"; ?>
추천 학습: "PHP 비디오 튜토리얼 "
위 내용은 dw php 웹페이지에 중국어 문자가 깨져 있으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!