>  기사  >  백엔드 개발  >  PHP 함수에 대한 자세한 설명: urlencode()

PHP 함수에 대한 자세한 설명: urlencode()

WBOY
WBOY원래의
2016-07-25 08:46:411323검색
urlencode 함수는 수신 문자열 매개변수를 URL 인코딩합니다. 반환된 문자열에서 "ˉ—."을 제외하고 영숫자가 아닌 모든 문자는 퍼센트 기호(%) 뒤에 두 개의 16진수 숫자가 따라오고 공백은 더하기 기호( )로 인코딩됩니다. 이 함수는 문자열 인코딩을 용이하게 하고 URL의 요청 부분에서 이를 사용하도록 하며 다음 페이지로 변수를 전달하는 것도 용이하게 합니다.
URLEncode: 웹페이지 URL의 한자를 인코딩 변환하는 방법으로, 가장 일반적인 방법은 바이두, 등 검색엔진에 중국어 검색어를 입력하는 것입니다. Google. 이때 인코딩된 웹페이지 URL이 생성됩니다. URLEncoding에는 일반적으로 두 가지 방법이 있습니다. 하나는 GB2312 기반의 전통적인 인코딩(Baidu, Yisou 등에서 사용)이고 다른 하나는 UTF-8 인코딩(Google, Yahoo 등에서 사용)을 기반으로 합니다. 이 도구는 각각 인코딩 및 디코딩의 두 가지 방법을 구현합니다.
  • 중국어 -> GB2312 인코딩 -> ����
  • 중국어 -> UTF-8 인코딩
Html의 URLEncode
GB2312로 인코딩된 html 파일에서 http://www.nowamagic.net/中文.rar -> -> http://www.nowamagic.net/����.rar
참고: Firefox는 GB2312 인코딩 양호의 중국어 URL을 지원하지 않습니다. , 기본적으로 UTF-8 인코딩으로 URL을 전송하지만 ftp:// 프로토콜은 그렇게 할 수 있기 때문입니다.
UTF-8로 인코딩된 html 파일에서 http://www.nowamagic.net/中文.rar -> > http://www.nowamagic.net/中文.rar
PHP의 URLEncode:
  1. //GB2312 인코딩
  2. echo urlencode("中文-_. ")."n" //��� � -_.
  3. echo urldecode("����-_. ")."n" //中文-_.
  4. echo rawurlencode("中文-_. ") . "n"; //����-_.
  5. echo rawurldecode("����-_. ")."n"; //中文-_. >
코드 복사

-_을 제외한 모든 영숫자가 아닌 문자는 퍼센트 기호(%) 뒤에 2개의 16진수 숫자로 대체됩니다.
urlencode와 rawurlencode의 차이점:
urlencode는 공백을 더하기 기호( )로 인코딩합니다.
    rawurlencode는 공백을 더하기 기호( )로 인코딩합니다

UTF-8 인코딩을 사용하려면 두 가지 방법이 있습니다.
파일을 UTF-8로 저장하세요. 파일, urlencode 및 rawurlencode를 직접 사용하세요.
    mb_convert_encoding 함수를 사용하세요.

  • $url = 'http://www.nowamagic.net/中文.rar'
  • echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."n";
  • echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312')). "n"; 
  • //http://www.nowamagic.net/中文.rar 
  • ?> 
  • 코드 복사

  • 예:
    1. function parsurl($url="")
    2. {
    3. $url = rawurlencode(mb_convert_encoding) ($url, 'gb2312', 'utf-8'));
    4. $a = array(":", "/", "@")
    5. $b = 배열 (":", "/", "@");
    6. $url = str_replace($a, $b, $url)
    7. return $url; >}
    8. $url="ftp://ud03:password@www.nowamagic.net/中文/中文.rar";
    9. echo parurl($url); 🎜>//ftp://ud03:password@www.nowamagic.net/����/����.rar 
    10. ?> 

    11. 코드 복사
    JavaScript의 URLEncode: Chinese-_. Chinese-_., encodeURI는 ":", "/", ";", "?", "@", 등 특수 문자.

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