>  기사  >  백엔드 개발  >  UTF-8 중국어 왜곡 문자가 PHP에 표시되는 경우 수행할 작업

UTF-8 중국어 왜곡 문자가 PHP에 표시되는 경우 수행할 작업

小老鼠
小老鼠원래의
2023-04-24 14:01:493456검색

PHP에 표시되는 UTF-8 중국어 문자에 대한 해결 방법: 1. PHP 파일 상단에 "header("content-type:text/html;charset=utf-8");"를 추가합니다. mysql_connect "함수를 사용하여 데이터베이스에 연결한 다음 "mysql_query('SET NAMES UTF8');" 문을 실행하여 인코딩을 UTF8로 변경합니다.

UTF-8 중국어 왜곡 문자가 PHP에 표시되는 경우 수행할 작업

이 튜토리얼의 운영 체제: Windows 10 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

PHP가 utf-8 중국어 문자를 표시하는 이유

1. 일관되지 않은 문자 집합 인코딩이 자주 나타나는 주된 이유는 인코딩 형식에 문제가 있기 때문입니다. PHP 코드를 작성하는 과정에서 개발자는 코드 파일 자체의 형식에 주의해야 합니다. 예를 들어 Overpass는 UTF-8 형식으로 설정해야 합니다. 설정되지 않거나 잘못 설정되면 PHP 프로그램 출력에 문자가 깨질 수 있습니다.

또한 PHP 프로그램에서 데이터베이스 쿼리, 양식 제출 및 기타 작업을 사용할 때 데이터베이스와 웹 페이지의 문자 집합 인코딩이 통일되어 있는지도 주의해야 합니다. 그렇지 않으면 중국어가 깨져 나오는 문제도 발생합니다. 문자.

2. 브라우저 표시 문제

문자 깨짐 문제는 브라우저에 의해 발생할 수도 있습니다. 브라우저 인코딩 방식이 웹 페이지 인코딩 방식과 일치하지 않으면 중국어 문자 깨짐 문제도 발생합니다. 이 시점에서 개발자는 문제 해결을 위해 브라우저의 인코딩을 변경해 볼 수 있습니다.

3. 잘못된 출력 방식

PHP 프로그램에서는 잘못된 방식으로 내용을 출력할 경우 한자가 깨져 나오는 문제도 발생합니다. 일반적인 오류 출력 방법에는 echo, print, print_r, var_dump 및 기타 출력 기능이 포함되며 이러한 기능은 중국어를 출력할 때 처리되지 않으므로 잘못된 문자가 발생하기 쉽습니다.

php에 표시되는 UTF-8 중국어 왜곡 코드에 대한 솔루션

1: HTML과 PHP 혼합 페이지 솔루션

첫 번째 방법에서 언급한 작업을 따르는 것 외에 HTML과 PHP를 혼합하는 방법 추가 , PHP 파일 상단에 다음 코드도 추가해야 합니다.

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
  
?>

2: 순수 PHP 페이지의 중국어 왜곡 문제(데이터는 정적임)

PHP 페이지에 잘못된 문자가 있는 경우 다음을 추가하세요. 페이지 시작 부분에 다음 코드를 추가하면 됩니다.

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
?>

세 번째: PHP+Mysql 중국어 왜곡 problem

세 번째 작업을 따르는 것 외에도 데이터 코딩을 쿼리/수정/추가하기 전에 데이터베이스에 추가해야 합니다. 또한 여기의 UTF8은 이전 UTF8과 다르며 중간에 수평선이 없다는 점은 주목할 가치가 있습니다.

PHP를 사용하여 데이터베이스 읽기 및 쓰기

데이터베이스에 연결한 후:

[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);

두 줄 추가:

mysql_query("set character set &#39;utf8&#39;");//读库
mysql_query("set names &#39;utf8&#39;");//写库

MYSQL 데이터베이스를 정상적으로 읽고 쓸 수 있습니다.

<?php
 mysql_query(&#39;SET NAMES UTF8&#39;);
 //接下来的就是查出数据或者修改,增加
?>

UTF-8 인코딩은 인코딩 중 하나일 뿐입니다. utf-8 인코딩을 사용하지 않으려면 다른 인코딩을 사용해도 됩니다. 현재는 UTF-8을 사용하려는 인코딩으로 바꾸면 됩니다. 주로 중국어 웹사이트 개발에 사용됩니다. GB2312와 UTF-8의 두 가지 인코딩이 있습니다.

주의할 점: 데이터베이스 작업을 수행해야 하는 PHP 프로그램 앞에 추가된 mysql_query("set names 'encoding'") 코드는 PHP 코드와 일치해야 합니다. gb2312인 경우 utf-8인 경우 mysql 인코딩은 utf8이므로 데이터를 삽입하거나 검색할 때 잘못된 문자가 발생하지 않습니다.

위 내용은 UTF-8 중국어 왜곡 문자가 PHP에 표시되는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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