이 글은 주로 PHP 문자 인코딩 변환 방법을 소개합니다. 방법의 단계도 비교적 자세하게 설명되어 있습니다.
iconv — 문자열을 요청된 문자 인코딩으로 변환(PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — 문자 인코딩 변환(PHP 4 >= 4.0.6, PHP 5)
사용법:
string mb_convert_encoding ( string str, string to_encoding [, mix from_encoding] )
먼저 mbstring 확장 라이브러리를 활성화하고 php.ini
string iconv( string in_charset, string out_charset)에서 Extension=php_mbstring.dll 앞에 있는 ;를 제거해야 합니다. , 문자열 str )
참고:
변환할 인코딩을 지정하는 것 외에도 두 번째 매개변수는 두 개의 접미사를 추가할 수도 있습니다: //TRANSLIT 및 //IGNORE,
그 중:
//TRANSLIT는 자동으로 변환할 수 없는 문자를 변환합니다. 직접 변환됩니다. 하나 이상의 대략적인 문자가 됩니다.
//IGNORE는 변환할 수 없는 문자를 무시하며, 기본 효과는 첫 번째 잘못된 문자에서 잘리는 것입니다.
실패 시 변환된 문자열을 반환하거나 FALSE를 반환합니다.
사용:
1. 무시 매개변수가 없으면 문자 "-"를 gb2312로 변환할 때 iconv에서 오류가 발생하는 것으로 나타났습니다. 어쨌든 이러한
"-"는 성공적으로 변환될 수 없으며 출력될 수 없습니다. 또한 mb_convert_encoding에는 이 버그가 없습니다.
2. mb_convert_encoding은 내용을 기반으로 자동으로 식별되는 여러 입력 인코딩을 지정할 수 있지만 실행 효율성은 다음과 같이 iconv보다 훨씬 나쁩니다. $str,"euc-jp" ,"ASCII,JIS,EUC-JP,SJIS,UTF- 8"); "ASCII,JIS,EUC-JP,SJIS,UTF-8"의 다양한 순서에 따른 효과도
차이점
3. 일반적으로 iconv를 사용합니다. 원래 인코딩이 무엇인지 알 수 없거나 변환 후 iconv가 정상적으로 표시되지 않는 경우에만 mb_convert_encoding 함수를 사용하세요.
from_encoding은 변환 전 문자 코드 이름으로 지정됩니다. 배열 또는 문자열일 수 있습니다. 쉼표로 구분된 열거 목록입니다. 지정하지 않으면 내부 인코딩이 사용됩니다.
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis -win");
$str = mb_convert_encoding($str, "EUC-JP', "auto");
예:
$content = iconv("GBK", "UTF-8", $content);
$content = mb_convert_encoding($content, " UTF-8", "GBK");
Conclusion
1.mb_convert_encoding() 이 함수는 콘텐츠를 기반으로 인코딩을 자동으로 식별하지만 실행은 iconv보다 효율성이 떨어집니다.
2. 그러면 일부 문자를 변환할 때 iconv()가 비정상적이라는 말이 있습니다. 문자 "-"를 gb2312로 변환하면 iconv가 오류를 일으킨다는 말이 있습니다. 무시 매개변수를 사용하면 이 문자 뒤에 오는 모든 문자열을 저장할 수 없습니다. 또한 이 "-"도 성공적으로 변환할 수 없으며 mb_convert_encoding()에는 이 버그가 없습니다. 확장 라이브러리가 활성화된 경우에만 사용할 수 있는 확장 함수 iconv는 PHP 내장 함수이며 추가 확장이 필요하지 않습니다.
PHP 인코딩에서 문자 깨짐을 해결하는 방법 변환
php 배열 인코딩 변환 예제
위 내용은 PHP 문자 인코딩 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!