이 글은 주로 PHP의 urlencode() URL 인코딩 기능에 대한 분석을 소개합니다. 이는 특정 참고 가치가 있습니다. 이제 여러분과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
URLEncode: 웹에 있는 한자를 나타냅니다. 페이지 URL 인코딩 변환 방법 중 가장 일반적인 방법은 바이두, 구글 등 검색 엔진에 중국어 검색어가 입력될 때 인코딩된 웹페이지 URL을 생성하는 것입니다.
URLEncode에는 일반적으로 두 가지 방법이 있습니다. 하나는 GB2312 기반의 전통적인 인코딩(Baidu, Yisou 등에서 사용)이고 다른 하나는 UTF-8 인코딩(Google, Yahoo 등에서 사용)을 기반으로 합니다.
이 도구는 각각 두 가지 인코딩 및 디코딩 방법을 구현합니다.
중국어-> GB2312 인코딩 -> %D6%D0%CE%C4
중국어-> UTF-8 인코딩 -> %E6%96%87
URLEncode in Html:
GB2312로 인코딩된 html 파일: http://s.php.cn/中文.rar -> 브라우저는 자동으로 -> php.cn/%D6%D0%CE%C4.rar
참고: Firefox는 기본적으로 UTF-8 인코딩으로 URL을 보내기 때문에 GB2312 인코딩의 중국어 URL을 지원하지 않지만 ftp:// 프로토콜은 할 수 있으므로 시도해 보았습니다. , 저는 이것이 Firefox 버그로 간주되어야 한다고 생각합니다.
UTF-8로 인코딩된 HTML 파일: http://s.php.cn/中文.rar -> 브라우저는 자동으로 -> AD%E6%96%87.rar
URLEncode in PHP:
<?php //GB2312的Encode echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+ echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20 echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. ?>
"-_."를 제외한 모든 영숫자가 아닌 문자는 백분율 기호 "%" 뒤에 2개의 16진수 숫자로 대체됩니다.
urlencode와 rawurlencode의 차이점: urlencode는 공백을 더하기 기호 "+"로 인코딩하고 rawurlencode는 공백을 더하기 기호 "%20"으로 인코딩합니다.
UTF-8 인코딩을 사용하려면 두 가지 방법이 있습니다.
1. 파일을 UTF-8 파일로 저장하고 urlencode 또는 rawurlencode를 직접 사용합니다.
2. mb_convert_encoding 함수를 사용하세요:
<?php $url = 'http://s.php.cn/中文.rar'; echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."\n"; echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."\n"; //http%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6%96%87.rar ?>
예:
<?php function parseurl($url="") { $url = rawurlencode(mb_convert_encoding($url, 'gb2312', 'utf-8')); $a = array("%3A", "%2F", "%40"); $b = array(":", "/", "@"); $url = str_replace($a, $b, $url); return $url; } $url="ftp://ud03:password@s.php.cn/中文/中文.rar"; echo parseurl($url); //ftp://ud03:password@s.php.cn/%D6%D0%CE%C4/%D6%D0%CE%C4.rar ?>
URLEncode in JavaScript:
예: %E4%B8%AD%E6%96%87-_.%20%E4%B8%AD%E6% 96 %87-_.%20
encodeURI는 ":", "/", ";", "?", "@" 및 기타 특수 문자를 인코딩하지 않습니다.
예: http://s.php.cn/%E4%B8%AD%E6%96%87.rarhttp%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6%96 % 87.rar
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
PHP는 WeChat 공용 플랫폼 기업 계정 확인 인터페이스를 구현합니다
위 내용은 PHP의 urlencode() URL 인코딩 기능 분석에 대해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!