URLEncode: 웹페이지 URL의 한자를 인코딩하고 변환하는 방법을 말하며, 가장 일반적인 방법은 바이두, 구글 등 검색엔진에 중국어 검색어를 입력하면 인코딩된 웹페이지 URL이 생성되는 것입니다.
URLEncode에는 일반적으로 두 가지 방법이 있습니다. 하나는 GB2312 기반의 전통적인 인코딩(Baidu, Yisou 등에서 사용)이고, 다른 하나는 UTF-8 인코딩(Google, Yahoo, 등.).
이 도구는 각각 두 가지 인코딩 및 디코딩 방법을 구현합니다.
GB2312 중국어-> ����
중국어-> 인코딩 -> 중국어
HTML의 URLEncode:
GB2312로 인코딩된 HTML 파일: http://s.jb51.net/中文.rar -> ; http://s.jb51.net/����.rar
참고: Firefox는 기본적으로 UTF-8 인코딩을 사용하므로 GB2312 인코딩의 중국어 URL을 지원하지 않습니다. URL은 전송되지만 ftp는 :// 프로토콜은 괜찮습니다. 시도해 보니 이것은 Firefox 버그로 간주되어야 한다고 생각합니다.
UTF-8로 인코딩된 html 파일: http://s.jb51.net/中文.rar -> Chinese.rar
PHP의 URLEncode:
<?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"; //中文-_. ?>
"-_."를 제외한 모든 영숫자가 아닌 문자는 백분율 기호 "%"와 두 개의 16진수 숫자로 대체됩니다.
urlencode와 rawurlencode의 차이점: urlencode는 공백을 더하기 기호 " "로 인코딩하고 rawurlencode는 공백을 더하기 기호 " "로 인코딩합니다.
UTF-8 인코딩을 사용하려면 두 가지 방법이 있습니다.
1. 파일을 UTF-8 파일로 저장하고 urlencode 또는 rawurlencode를 직접 사용합니다.
2. mb_convert_encoding 함수 사용:
<?php $url = 'http://s.jb51.net/中文.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.jb51.net/中文/中文.rar"; echo parseurl($url); //ftp://ud03:password@s.jb51.net/%D6%D0%CE%C4/%D6%D0%CE%C4.rar ?>
JavaScript의 URLEncode:
예: Chinese-_. 중국어 -_
encodeURI는 ":", "/", ";", "?", "@" 및 기타 특수 문자를 인코딩하지 않습니다.
위에는 urlencode의 내용을 포함하여 PHP에서 urlencode 함수를 이용한 URL 인코딩에 대한 자세한 설명이 소개되어 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.