>백엔드 개발 >PHP 문제 >PHP utf-8의 잘못된 문제를 해결하는 방법

PHP utf-8의 잘못된 문제를 해결하는 방법

藏色散人
藏色散人원래의
2020-07-09 12:16:534398검색

PHP utf-8 왜곡된 코드에 대한 해결 방법: 1. "my.ini" 파일에서 검색하고 인코딩을 "utf8"로 수정합니다. 2. 명령문을 "mysql_query("set names 'utf8'");"로 설정합니다. 3. "텍스트 파일 인코딩"에서 기본 인코딩을 "utf8"로 설정합니다.

PHP utf-8의 잘못된 문제를 해결하는 방법

php utf-8 왜곡 문제 해결

1. 데이터베이스를 구축할 때, 특히 phpMyAdmin을 사용하여 MYSQL을 처리할 때 일반적으로 utf-8이고 필드는 utf8_general_ci

입니다.

my.ini 파일을 살펴보세요:

[mysql]
default-character-set = utf8
[mysqld]
default-character-set = utf8
init_connect = 'SET NAMES utf8 '

모두 utf8로 설정

mysql 서비스를 저장하고 다시 시작하세요

2. 데이터를 처리할 때 mysql_query("set names 'utf8'"); , utf-8이 아닙니다

3. PHP 파일의 기본 인코딩은 ANSI이며 UTF-8로 변환해야 합니다. 변환 방법에 대해서는 editplus에 "다른 이름으로 저장" 옵션이 있습니다. encode UTF-8 참고: UTF-8 + BOM을 선택할 수 없습니다. 이 경우 세션 처리 시 문제가 발생하므로 주의해야 합니다. eclipse, Myeclipse, ZendStudio에서 개발하는 경우도 있습니다. ISO가 -8859-1인 경우 "창"->"기본 설정"에서 "기본 설정" 창을 열고 왼쪽의 "일반"->"작업 공간"으로 이동하여 "텍스트 파일"에서 기본 인코딩을 설정해야 합니다. "를 utf-8

4로 인코딩합니다. PHP 파일에 명시되어야 합니다. 예: 6b2c65d254e5e9a12fcfbb1a8639a948

또는

코드는 다음과 같습니다.

<?php header(&#39;Content-Type:text/html;charset=utf-8&#39;);?>

5 또한 중국어와 같은 더블바이트를 처리할 때 왜곡된 문자가 나타날 수도 있습니다. PHP는 iconv 및 mb_convert_encoding을 사용하여 더블바이트를 처리할 수 있습니다. help manual

6. 추가할 점 하나 더(누락점) 프로그램에서 데이터 전송 시 인코딩 문제가 있을 수 있지만 데이터가 어떤 인코딩으로 전달되는지 알 수 없다는 점을 알아야 합니다. PHP 이를 처리하는 방법을 제공합니다. 다음은 직접 작성한 간단한 방법이므로 참조할 수 있습니다.

코드는 다음과 같습니다.

//编码转换 
        function display_fileencoding($filename) 
        { 
            if(extension_loaded("mbstring")) 
            { 
                $code=mb_detect_encoding($filename);//检测字符串编码 
                $filename=mb_convert_encoding($filename,"UTF-8",$code);//将编码$code转换为utf-8编码 
                return $filename; 
            } 
            else 
                die("请检查系统是否正确安装配置mbstring"); 
        }

php.ini에서 mbstring이 활성화되어 있는지 확인하세요

7. 위의 코딩이 일관성이 있는지 확인하세요! ! 데이터베이스와 웹페이지 출력이 더 이상 왜곡되지 않습니다. 문제가 있는 경우 이를 지적하는 메시지를 남겨주세요! !

더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 방문하세요!

위 내용은 PHP utf-8의 잘못된 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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