>백엔드 개발 >PHP 튜토리얼 >PHP 인코딩 변환 기능 적용 Skill_php 예제에 대한 자세한 설명

PHP 인코딩 변환 기능 적용 Skill_php 예제에 대한 자세한 설명

WBOY
WBOY원래의
2016-12-05 13:28:131196검색

PHP에는 애플리케이션 요구 사항을 지원하는 수많은 기능이 있습니다. 아래에 소개하는 함수는 PHP 인코딩 변환 함수에 관한 것입니다. 그것이 모두에게 도움이 되기를 바랍니다. mb_convert_encoding 함수는 PHP의 내부 멀티바이트 문자열 인코딩 변환 함수입니다.

GB2312 인코딩 환경에서 Ajax를 사용하여 발생하는 한자 깨짐 문제 해결 등 필요한 상황에서 인코딩 변환을 용이하게 하여 웹 페이지 깨짐 문제를 해결하는 데 사용할 수 있어 매우 편리합니다. 효율적입니다. 거의 모든 인코딩이 지원됩니다. PHP 4 >= 4.0.6, PHP 5 버전이 지원됩니다.

PHP 인코딩 변환 함수 프로토타입:

/**
* 멀티바이트 문자열 인코딩 변환 기능
*
* @param string str 인코딩 및 변환이 필요한 문자열
* @param string to_encoding은 특정 인코딩으로의 변환을 지정합니다
, 예: gb2312, gbk, utf-8 등
* @param mix from_encoding 지정된 원래 문자열의 인코딩을 혼합합니다
, 예: JIS, eucjp-win, sjis-win 혼합 인코딩을 동시에 지정
* @return 문자열
문자열 mb_convert_encoding ( 문자열 str, 문자열 to_encoding [, 혼합 from_encoding] )

PHP 인코딩 변환 기능 사용 예:

1. GBK 인코딩 문자열을 UTF-8 인코딩 문자열로 변환

< &#63;PHP  
header("content-Type: text/html; 
charset=Utf-8");  
echo mb_convert_encoding("
你是我的好朋友", "UTF-8", "GBK");  
&#63;> 

2. UTF-8로 인코딩된 문자열을 GB2312로 인코딩된 문자열로 변환

// 注意将此文件存盘成 utf-8 
编码格式文件再测试  
< &#63;PHP  
header("content-Type: text/html; 
charset=gb2312");  
echo mb_convert_encoding("
你是我的好朋友", "gb312", "utf-8");  
&#63;> 

3. 전체 페이지 변환

이 방법은 모든 코딩 환경에 적합합니다. 이러한 방식으로 처음 128자(표시 문자)를 제외한 모든 문자 세트는 NCR로 표시됩니다("한자"와 같은 숫자 문자 참조는 "한자"로 변환됨). 이 인코딩은 모든 인코딩에서 사용될 수 있습니다. 환경을 정상적으로 표시합니다.

PHP 파일의 헤드에 다음 세 줄의 코드를 추가합니다.

mb_internal_encoding("gb2312");  
// 这里的gb2312是你网站原来的编码  
mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler');  

mb_convert_encoding 함수를 사용하려면 PHP의 mbstring(멀티바이트 문자열) 확장을 활성화해야 합니다.

PHP의 mbstring 확장이 활성화되지 않은 경우, PHP가 확장을 지원할 수 있도록 다음 설정을 지정해야 합니다.

1. 윈도우 서버 환경

PHP.ini 파일을 편집하고 Extension=PHP_mbstring.dll 앞의 ;를 제거한 후 웹 서버를 다시 시작하세요.

2. 리눅스 서버 환경

구성을 컴파일할 때 --enable-mbstring=cn 컴파일 매개변수를 추가한 다음 PHP를 컴파일하고 설치하세요.

결론:

PHP 인코딩 변환 기능을 사용하는데 아직도 이해가 되지 않는다면 "PHP 매뉴얼"을 참고하시기 바랍니다.

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