有的新手朋友们对于url编码解码这个概念,或许有点陌生。但是如果这么说,当我们在浏览各大网页时,可能发现有的url里有一些特殊符号比如#号,&号,_号或者汉字等等,那么为了符合url的规范,存在这些符号的url就需要对其进行编码。这样简单的说明大家是否对url编码解码有一点了解了呢?

url编码解码,也可以叫做百分号编码,是统一资源定位(URL)编码方式。

下面我们结合简单的代码示例,为大家介绍PHP实现url中汉字编码和解码的方法。

一、url编码(urlencode)

<?php

$url = urlencode('PHP中文网');//把 PHP中文网 进行编码

$password = md5(123123);

echo "index.php?user=$url&password=$password" ;

在此段代码中,我们使用urlencode函数对“PHP中文网”进行编码操作,并且使用md5加密,最后输出拼接成的url进行测试。

结果如下图:

如图“中文网”这个三个汉字成功的进行了编码,都是以百分号数字字母的组合形式显示。并且原先的密码“123123”也进行了加密。

注:urlencode表示编码 URL 字符串

urlencode返回值表示返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。

二、url解码(urldecode)

<?php

$url = urlencode('PHP中文网');//把 PHP中文网 进行编码

$password = md5(123123);

echo "index.php?user=$url&password=$password" . '<br>';

$url = urldecode("%E4%B8%AD%E6%96%87%E7%BD%91");  // 把编码还原成 PHP中文网

echo $url;

那么我们再对编码后的汉字进行解码,这里我们主要用到PHP中urldecode函数。

测试结果如下:

如图PHP后面的乱码已经解码成中文。

注:urldecode表示解码已编码的 URL 字符串

urldecode返回值表示返回解码后的字符串。

对于url编码及解码的方法大家主要需要掌握urlencodeurldecode这两个函数。

url编码主要是为了符合url规范或防止SQL注入。

PHP对Url中的汉字进行编码和解码的更多相关文章

  1. 在Java中如何进行BASE64编码和解码

    在Java中如何进行BASE64编码和解码 //在Java中如何进行BASE64编码和解码 package me.xzh.study.sun.misc.BASE64; import sun.misc. ...

  2. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  3. iOS URL中汉字的编码和解码

    发现NSString类中有内置的方法可以实现.他们分别是: - (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncod ...

  4. 记录Java中对url中的参数进行编码

    Code: import java.net.URLEncoder; import java.util.HashMap; import java.util.Iterator; import java.u ...

  5. Python2/3的中、英文字符编码与解码输出: UnicodeDecodeError: 'ascii' codec can't decode/encode

    摘要:Python中文虐我千百遍,我待Python如初恋.本文主要介绍在Python2/3交互模式下,通过对中文.英文的处理输出,理解Python的字符编码与解码问题(以点破面). 前言:字符串的编码 ...

  6. 在LoadRunner中进行Base64的编码和解码

    <Base64 Encode/Decode for LoadRunner>这篇文章介绍了如何在LoadRunner中对字符串进行Base64的编码和解码: http://ptfrontli ...

  7. Python 中的 is 和 == 编码和解码

    一   is   与   ==   区别 ==    比较            比较的是值 例如: a = 'alex' b = 'alex' print(a == b) #True a = 10 ...

  8. 在 Java 中如何进行 BASE64 编码和解码

    BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和 ...

  9. Python 001- 将URL中的汉字转换为url编码

    很多时候想爬取网页信息,结果出现URL是中文的情况(比如‘耳机'),url的地址编码却是%E8%80%B3%E6%9C%BA,因此需要做一个转换.这里我们就用到了模块urllib. 代码超简单 #-* ...

随机推荐

  1. 2018acm-icpc西安邀请赛后记

    第一次参加icpc的邀请赛,有一点小激动,深知大一弱队实力弱,赛前给队友的目标就是拿块铜,不打铁. 热身赛因为没有用过pc^2,codeblocks又用不习惯的原因,开始调工程调了很久,差一点拿到A题 ...

  2. bottle框架剖析

    bottle框架剖析 使用 源码分析 一.使用 大致有以下几部分 quick start request routing generate contents request Data template ...

  3. NGUI的UIRoot会移动

    我在做一个游戏的时候,发现NGUI的UIRoot会自己移动位置,最初创建UIRoot的时候是可以随便拖动的,只要它自己移动了位置,你就拖不动它了,而且UIRoot下面的摄像机也会变成类似主摄像机之类的 ...

  4. MySQL 获得当前日期时间 函数【转】

    获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------- ...

  5. C# 网络常用操作类NetHelper.cs

    一个非常完整的网络操作帮助类,包含20多个常用方法,例如: IP地址的验证以及截取. 端口的验证. 电子邮件的发送. 获取计算机名. IP地址的获取以及TCP. UDP连接的创建和数据发送等. usi ...

  6. jackson的自动检测机制

    jackson允许使用任意的构造方法或工厂方法来构造实例 使用@JsonAutoDetect(作用在类上)来开启/禁止自动检测 fieldVisibility:字段的可见级别 ANY:任何级别的字段都 ...

  7. C# 比较不错的拓扑图控件

    群内有下载 616945527

  8. Keil stm32 printf到Debug窗口

    使用JlinkV8+Keil41.在main.c输入以下代码 #include <stdio.h> #define ITM_Port8(n) (*((volatile unsigned c ...

  9. C# Winform中慎用Application.DoEvents

    private void Add() { ; i < ; i++) { Button button = new Button(); button.Width = ; button.Height ...

  10. APR欺骗

    ARP欺骗简介 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据监听.篡改.重放.钓鱼等攻 ...