ホームページ  >  記事  >  バックエンド開発  >  PHP関数の詳しい説明:urlencode()

PHP関数の詳しい説明:urlencode()

WBOY
WBOYオリジナル
2016-07-25 08:46:411288ブラウズ
urlencode 関数は、受信文字列パラメータを URL エンコードします。 「ˉ—.」を除き、返される文字列内の英数字以外の文字はすべてパーセント記号 (%) とその後に続く 2 つの 16 進数字に置き換えられ、スペースはプラス記号 (+) としてエンコードされます。この関数により、文字列のエンコードと URL のリクエスト部分での使用が容易になり、変数を次のページに渡すことも容易になります。
URLEncode: Web ページ URL 内の中国語文字のエンコード変換方法を指します。最も一般的なものは、Baidu や Google などの検索エンジンに中国語のクエリが入力されると、エンコードされた Web ページ URL が生成されます。一般に、URLEncoding には 2 つの方法があります。1 つは従来の GB2312 ベースのエンコード (Baidu、Yisou などで使用)、もう 1 つは UTF-8 ベースのエンコード (Google、Yahoo などで使用) です。このツールは、Encode と Decode の 2 つのメソッドをそれぞれ実装します。
    中国語 -> GB2312 のエンコード -> %D6%D0%CE%C4
  • 中国語 -> UTF-8 のエンコード -> %E4%B8%AD%E6%96%87

  • Html
の URLEncode は、GB2312 HTML ファイル http://www.nowamagic.net/中文.rar -> にエンコードされます。 . net/%D6%D0%CE%C4.rar
注: Firefox は、デフォルトで UTF-8 エンコードで URL を送信するため、GB2312 エンコードの中国語 URL をサポートしませんが、ftp://プロトコルはできます。
UTF-8 としてエンコードされた HTML ファイルでは、http://www.nowamagic.net/中文.rar -> ブラウザは自動的に http://www.nowamagic.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 つの方法があります:
    ファイルを UTF-8 ファイルとして保存するか、urlencode または rawurlencode を直接使用します。
      mb_convert_encoding 関数を使用します。

  • $url = 'http://www.nowmagic.net/中文.rar';
  • echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312') )."n";
  • echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."n"; E4%B8%AD%E6%96%87.rar
  • ?>

  • コードをコピー
  • 例:

      function parseurl($url="")

    1. {

    2. $url = rawurlencode(mb_convert_encoding($url, 'gb2312', 'utf-8')); ( "%3a"、 "%40");

    3. //ftp://ud03:password@www.nowmagic.net/%D6%D0%CE%C4/%D6%D0%CE%C4.rar

    4. ?> コードをコピー



    5. JavaScript の URLEncode: %E4%B8%AD%E6%96%87-_.%20%E4%B8%AD%E6%96%87-_.%20、encodeURI は次の文字をエンコードしません。 「:」、「/」、「;」、「?」、「@」などの特殊文字。




    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。