"을 통해 utf-8 형식을 선언합니다. ; 3. "mysql_query("SET NAMES GBK");"를 통해 MYSQL 연결 인코딩을 설정합니다."/> "을 통해 utf-8 형식을 선언합니다. ; 3. "mysql_query("SET NAMES GBK");"를 통해 MYSQL 연결 인코딩을 설정합니다.">

>백엔드 개발 >PHP 문제 >dw php 웹페이지에 중국어 문자가 깨져 있으면 어떻게 해야 하나요?

dw php 웹페이지에 중국어 문자가 깨져 있으면 어떻게 해야 하나요?

藏色散人
藏色散人원래의
2022-11-30 09:30:246783검색

dw php 웹 페이지의 중국어 왜곡된 중국어 문자에 대한 솔루션: 1. 제목 인코딩을 UTF8로 설정합니다. 2. Dreamweaver를 사용하여 새 PHP 파일을 만들 때 "43903f6ba2513e5afb0553bef234eada

2458c20ad8814e8d5c01cce841c2226d

dw php 웹페이지에 중국어 문자가 깨져 있으면 어떻게 해야 하나요?

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(&#39;SET NAMES UTF8&#39;);
?>

으로 변경합니다. 일반적으로 사용되는 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]

마지막으로 중국어가 성공적으로 표시됩니다:

76c82f278ac045591c9159d381de2c57
f2fff6a208c3e290698f287c1c0e7a53
93f0f5c25f18dab9d176bd4f6de5d30e
  a80eb7cbb6fff8b0ff70bae37074b813
  b2386ffb911b14667cb8f0f91ea547a7中文6e916e0f7d1e588d4f442bf645aedb2f
9c3bca370b5104690d9ef395f2c5f8d1

6c04bd5ca3fcae76e30b72ad730ca86d

4a249f0d628e2318394fd9b75b4636b1中文473f0a7621bec819994bb5020d29372a

13f8ba25135b9b670f5fc69a5ab97123

dw php 웹페이지에 중국어 문자가 깨져 있으면 어떻게 해야 하나요?

추천 학습: "PHP 비디오 튜토리얼 "

위 내용은 dw php 웹페이지에 중국어 문자가 깨져 있으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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