一般に URLEncoding には 2 つの方法があり、1 つは GB2312 に基づく従来のエンコード (Baidu、Yisou などで使用)、もう 1 つは UTF-8 エンコード (Google、Yahoo などで使用) に基づくものです。
このツールは、エンコードとデコードの 2 つのメソッドをそれぞれ実装します:
GB2312 のエンコード -> %D6%D0%CE%C4
UTF-8 のエンコード -> %E4 % B8%AD%E6%96%87
HTML での URLEncode:
GB2312 としてエンコードされた HTML ファイル内: http://s.jb51.net/中文.rar -> ブラウザは自動的に -> http に変換します。 ://s.jb51.net/%D6%D0%CE%C4.rar
注: Firefox はデフォルトで URL を UTF-8 エンコードで送信するため、GB2312 エンコードの中国語 URL をサポートしていませんが、ftp: // プロトコルは機能します。試してみましたが、これは Firefox のバグだと思います。
UTF-8 としてエンコードされた HTML ファイル内: http://s.jb51.net/中文.rar -> ブラウザは自動的に http://s.jb51.net/%E4%B8 に変換します。 %AD%E6%96%87.rar
PHP での URLEncode:
コードをコピー コードは次のとおりです:
//GB2312 のエンコード
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 エンコードを使用したい場合は、2 つの方法があります:
1. ファイルを UTF-8 ファイルとして保存し、urlencode または rawurlencode を直接使用します。
2. mb_convert_encoding 関数を使用します:
コードをコピーします コードは次のとおりです:
$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
例:
コードは次のとおりです。 function parseurl($url="")
{
$url = rawurlencode($url, 'gb2312', 'utf-8')); a = array("%3A", "%2F", "%40");
$b = array(":", "/", "@");
$url = str_replace($a, $b) , $url);
$url ;
}
$url="ftp://ud03:password@s.jb51.net/中文/中文.rar"; ://ud03:password@s.jb51.net/%D6%D0%CE%C4/%D6%D0%CE%C4.rar
JavaScript での URL エンコード: % E4%B8%AD%E6%96 %87-_.%20%E4%B8%AD%E6%96%87-_.%20
encodeURI は次の文字をエンコードしません: ":"、"/" 、「;」、「?」、「@」およびその他の特殊文字。
例: http://s.jb51.net/%E4%B8%AD%E6%96%87.rarhttp%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6% 96 %87.rar
http://www.bkjia.com/PHPjc/324192.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/324192.html
技術記事
一般に URLEncoding には 2 つの方法があり、1 つは GB2312 に基づく従来のエンコード (Baidu、Yisou などで使用)、もう 1 つは UTF-8 エンコード (Google、Yahoo などで使用) に基づくものです。 このツールは次のように分かれています...