有的新手朋友们对于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. LVS管理工具ipvsadm详解与LVS-NAT模式演示

    ipvsadm命令是工作在用户空间的LVS集群管理工具,原理是调用ipvs的API,在内核中生成ipvs的规则,主要用来管理集群服务和集群服务中的RealServer,使用方法类似iptables命令 ...

  2. promise第一篇-简介

    1. 创建一个promise对象 var promise = new Promise(function(resolve, reject){ //异步处理 //处理结束后调用resolve或reject ...

  3. python3写入文件时编码问题报错

    在字符串写入文件时,有时会因编码问题导致无法写入,可在open方法中指定encoding参数 chfile = open(filename, 'w', encoding='utf-8') 这样可解决大 ...

  4. ZOJ 4019 Schrödinger's Knapsack

    Schrödinger's Knapsack Time Limit: 1 Second      Memory Limit: 65536 KB DreamGrid has a magical knap ...

  5. A+B (带有,的数字)

    题目描述 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开. 现在请计算A+B的结果,并以正常形式输出. 输入描述: 输入包含多组数据数据,每组数据占一行,由 ...

  6. MySQL数据库中.SQL文件的导出方式

    转自:http://tech.watchstor.com/management-117401.htm 在MySQL数据库中导入SQL文件是件很麻烦的事情,但是这是一项大家非常值得学习的技术,本文就从最 ...

  7. Java实现DOS中的Copy命令

    import java.io.*; import java.util.Scanner; public class fileCopy { public static void main(String [ ...

  8. Jquery 获取radio选中值

  9. Json Schema简介

    1. 引言 什么是Json Schema? 以一个例子来说明 假设有一个web api,接受一个json请求,返回某个用户在某个城市关系最近的若干个好友.一个请求的例子如下: { "city ...

  10. asp.net 使用一般处理程序和ajax post实现登录以及记住密码

    1.登录页面login.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=&qu ...