php urlencode中文编码与urlencode语法

str urlencode($string)
此功能是方便的编码字符串时要在URL的查询的一部分用来作为一种方便的方法传递变量到下一页。

我写了这个简单的函数,创建一个GET查询的网址()从一个数组:
*/

function encode_array($args)
{
  if(!is_array($args)) return false;
  $c = 0;
  $out = '';
  foreach($args as $name => $value)
  {
    if($c++ != 0) $out .= '&';
    $out .= urlencode("$name").'=';
    if(is_array($value))
    {
      $out .= urlencode(serialize($value));
    }else{
      $out .= urlencode("$value");
    }
  }
  return $out . " ";
}

//如果有在$ args数组数组,它们将被序列化之前进行了urlencoded。

echo encode_array(array('foo' => 'bar'));                    // foo=bar
echo encode_array(array('foo&bar' => 'some=weird/value'));   // foo%26bar=some%3Dweird%2Fvalue
echo encode_array(array('foo' => 1, 'bar' =>  'two'));       // foo=1&bar=two
echo encode_array(array('args' => array('key' => 'value'))); // args=a%3A1%3A%7Bs%3A3%3A%22key%22%3Bs%3A5%3A%22value%22%3B%7D

/*
我需要一个在PHP函数在JavaScript中做完整的逃生功能相同的工作。我花一些时间不找到它。但findaly我决定写我自己的代码。因此,为了节省时间
*/

function fullescape($in)
{
  $out = '';
  for ($i=0;$i<strlen($in);$i++)
  {
    $hex = dechex(ord($in[$i]));
    if ($hex=='')
       $out = $out.urlencode($in[$i]);
    else
       $out = $out .'%'.((strlen($hex)==1) ? ('0'.strtoupper($hex)):(strtoupper($hex)));
  }
  $out = str_replace('+','%20',$out);
  $out = str_replace('_','%5F',$out);
  $out = str_replace('.','%2E',$out);
  $out = str_replace('-','%2D',$out);
  return $out;
 }
//I needed encoding and decoding for UTF8 urls, I came up with these very simple fuctions. Hope this helps教程!我需要为UTF8的编码和解码网址,我想出了这些非常简单fuctions。希望这会有所帮助

 function url_encode($string){
        return urlencode(utf8_encode($string));
    }
   
    function url_decode($string){
        return utf8_decode(urldecode($string));
    }
/*
urlencode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎教程中输入中文查询时候,生成经过 Encode过的网页URL。urlencode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是 基于utf-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decode。

中文 -> GB2312的Encode -> %D6%D0%CE%C4
中文 -> utf-8的Encode -> %E4%B8%AD%E6%96%87

如果要使用utf-8的Encode,有两种方法:

一、将文件存为utf-8文件,直接使用urlencode、rawurlencode即可。
二、使用mb_convert_encoding函数。

<?php
$url = 'http://www.111cn.net/中文.rar';
echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." ";
echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." ";
//http%3A%2F%2Fwww.111cn.net%2F%E4%B8%AD%E6%96%87.rar
?>

时间: 2024-09-12 09:27:42

php urlencode中文编码与urlencode语法的相关文章

php urlencode 中文编码

在PHP中有urlencode().urldecode().rawurlencode().rawurldecode()这些函数来解决网页URL编码解码问题. 在ASP的时候URL编码解码很是恼火,Server.urlencode不太好用,遇到utf-8编码的地址更是麻烦.你要获取百度.Google点击到网站的网址链接中的关键字,要写上一堆自定义函数来得到urldecode的效果. 摘录一篇关于PHP urlencode()函数的文章,对PHP处理URL作全面了解,文章来自373ren排行13,感

URL函数库:urlencode

urlencode (PHP3 , PHP4) urlencode ---&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; URL编码字符串 语法 : string urlencode (string str) 说明 : 将所有非字母字元的字符串除了-_.之外,以百分比符号(%)后跟随二个迷惑的数字的方式表示,而空白则会被编码成正的(+)符号.此编码方式与WWW表单post资料的编码方式相同,这和RFC1738编码

php中base64_encode和urlencode字符串加密方法

base64_decode 将 BASE64 编码字符串解码. 语法: string base64_decode(string encoded_data); 返回值: 字符串 函数种类: 编码处理   内容说明 本函数将以 MIME BASE64 编码字符串解码.解码后的字符串可能为中文字符串或其它的二进位资料. 例  代码如下 复制代码 <?php $str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw=='; echo base64_decode($str);

求ruby中类似PHP的urlencode()、JAVA中java.net.URLEncoder.encode()的实现

问题描述 其他语言都有URL字符标准化转码函数,如:ASP:server.URLEncode()PHP:urlencode()JAVA:java.net.URLEncoder.encode()RUBY:??请问ruby中有这种函数吗?如果没有怎么实现呢?谢谢 解决方案 ruby 本身没有.rails在view中用<%=u "URL ENCODE <p>ME</p>" %>后台代码可以考虑http://rdoc.info/stdlib/erb/1.8.

php urlencode()与urldecode()函数字符编码原理详解_php技巧

其原理就是把中文字符转换为十六进制并按某种规则进行字符串组合,实现字符的编码与解编码,保证URL数据传递过程中字符的完整性和兼容性,主要讨论中文字符的编码情况. 一,FireFox浏览器编码中文字符 在Firefox浏览器下如果输入中文字符,将会自动实现URL编码,如下 按下Enter键前 按下Enter键后 二,urlencode()函数原理 urlencode()函数用于编码URL字符串,这里主要讨论中文字符的编码情况, 实例如下 复制代码 代码如下: echo urlencode('不要迷

PHP中文URL编解码(urlencode()rawurlencode()_php技巧

下面是详细解释:///\\\ string urlencode ( string str) 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+).此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样.由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同.此函数

php urlencode和rawurlencode的区别介绍

urlencode的用途就是编码字符串,把原字符串中所有除"-_"以为的非所有字母数字字符替换成百分号(%)后跟两位十六进制数,但是需要注意:由于历史原因会把空格替换+号.rawurlencode其实和urlencode一样,也是用来编码字符串的,唯一的不同是它是使用RFC1738 编码,也就是会把空格替换成%20. 它们对应的解码函数是urldecode和rawurldecode.参考官方网站的说明,urldecode解码给出的已编码字符串中的任何%##,加号('+')被解码成一个空

JSP与Servlet

js|servlet JSP与Servlet 这篇文章的主要目的不是单纯的介绍JSP,也不是详细的介绍Servlet.这是一篇讲述JSP和Servlet之间关系的基础性文章.这篇文章主要是针对那些学习JSP的人而写的.至于Servlet和JavaBean以及Servlet和XML我的两个同学在他们的文档中将会给出明确的解释.本文的主要结构:1. Servlet是什么?2. JSP与Servlet.3. Servlet 概述4. 附录一5. 附录二在讲述的过程中,主要是针对JSP和Servlet关

php中json

  1. 原因分析: 在存储到数据库时!MySQL 不会存储 unicode 字符: MySQL 仅支持从基本的多语种平面字符 (0×0000-0xFFFF).请尝试存储一个同义词相反:) 更新: MySQL 5.5.3 上 (其中尚未 GA), 支持补充字符如果您使用 UTF8MB4 编码. json_encode中文的时候,会把每个中文字符encode成"uxxxx" 而存进数据库的时候,""被屏蔽了,直接变成"uxxxx" 2. 解决问题: