`
anysky131
  • 浏览: 176272 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

PHP使用GET传输汉字的编码转换

    博客分类:
  • PHP
阅读更多

 当我们使用GET方式对汉字编码进行传输时,不同的浏览器会有不同的问题,因此我们应该先将汉字进行转码,转为unicode的方式进行传输,如下代码:

$str = rawurlencode(iconv("GBK", "UTF-8", "我是谁"));
echo "<br> ".$str;

 这样,“我是谁”会被转换为类似于:%E6%88%91%E6%98%AF%E8%B0%81的编码,在浏览器地址上进行传输;

而在接收此参数时,需要将编码进行反转换,处理分两步:

一、定义页面的编码格式:

这是第一步,即要求浏览器在读到此页面时,使用什么编码来进行显示,因此我们应该在我们的页面上添加header的编码定义:

header("Content-Type:text/html; charset = gbk");

是什么编码就是什么编码;

二、接收过来的数据:

使用GET方式进行汉字传输时,会被浏览器解析成unicode编码,因此我们应该先将其转换成utf-8的编码:

      

$_articleName = rawurldecode($_articleName) ;

       rawurldecode即将类似于:%E6%88%91%E6%98%AF%E8%B0%81的编码转换为utf-8;

然后再使用iconv,对编码进行转换:

$_articleName = iconv("UTF-8", "GBK", "$_articleName"); 

 

这样就可以正常显示为gbk的编码了;

gb2312相同,只是将gbk换为gb2312即可;

 

分享到:
评论

相关推荐

    PHP采用get获取url汉字出现乱码的解决方法

    当我们在PHP中使用GET方法获取URL参数时,如果URL中包含中文等非ASCII字符,而服务器没有正确处理这些字符的编码,就可能出现乱码的情况。为了解决这个问题,PHP提供了urlEncode()函数,用于对这些特殊字符进行编码...

    ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

    这里主要讨论的问题是在使用ThinkPHP框架处理GET方式的中文参数时,查询结果为空,但实际数据库中存在相应数据的情况。这个问题通常与字符编码不匹配有关。 在描述中提到,问题出现在调用一个类似`...

    zh_php_

    2. **汉字简繁转换**:简繁体转换涉及到中文字符的编码和对照关系。在计算机中,汉字通常以Unicode编码表示,简体和繁体有不同的编码值。转换过程中需要依赖特定的字典库,这些库存储了简体字与繁体字的对应关系。 ...

    解决Flex 中文乱码

    在处理中文字符时,AS3采用的是UTF-16编码,而许多服务器接口或者数据传输协议如HTTP默认使用的是UTF-8编码。这种编码差异是引发乱码问题的主要原因。 首先,我们要理解UTF-16和UTF-8的区别。UTF-16是一种变长的...

    PHP MySQL程序开发中的乱码产生原因及解决方案分析.pdf

    6. **字符串操作**:在PHP中处理字符串时,如拼接、截取等,要注意编码的一致性,使用`iconv`或`mbstring`扩展进行编码转换。 7. **文件读写**:读写文本文件时,应确保知道文件的编码,并使用相应函数如`file_get_...

    PHP base64编码后解码乱码的解决办法

    在PHP编程中,Base64编码是一种常见的数据编码方式,它将任意二进制数据转换成ASCII字符串形式,便于在网络上传输。然而,在处理包含特殊字符或者非ASCII字符(如汉字)时,可能会遇到解码后出现乱码的问题。本文将...

    自动注册机 php代码

    通过深入研究和分析这些PHP文件,开发者不仅可以学习到自动注册的基本原理,还能提升对PHP编程、Web交互和编码转换的理解。同时,这也提醒我们,在探索和使用这类工具时,一定要遵循合法和道德的界限。

    使用JSON实现数据的跨域传输的php代码

    标题中的“使用JSON实现数据的跨域传输的php代码”是指在PHP中通过JSON编码来传递数据,以解决Web应用程序中的跨域问题。在Web开发中,由于浏览器的同源策略限制,不同源(域名、协议或端口)的请求通常会被阻止,这...

    ajax乱码解决汇总

    当使用Ajax GET请求返回页面时,响应文本(RESPONSETEXT)中的中文乱码通常是因为XMLHttpRequest对象按照UTF-8解码了服务器返回的非UTF-8编码的响应体。为解决此问题,服务器需要在响应头中明确指定编码类型,例如在...

    ajax乱码解决方案

    5. **VBScript编码转换**:如果使用VBScript编写的功能需要编码转换,务必确保正确识别并转换编码格式,例如GBK到Unicode。 6. **Cookie传输**:虽然可以使用Cookie来传递数据,但这种方法存在一些局限,比如容易...

    php最新中文手册

    《PHP最新中文手册》是PHP开发者的重要参考资料,它包含了PHP语言的最新特性和函数更新,为程序员提供了详尽的函数用法、语法解释以及实践示例。这份手册的中文版本,使得国内的开发者能更方便地理解和应用PHP技术,...

    mysql+php中文乱码问题及mysql时间函数.rar

    5. 数据传输:在插入或查询含中文数据时,确保数据经过正确编码处理,例如在HTML表单中使用`&lt;meta&gt;`标签指定编码,或者在接收POST/GET数据时进行转码。 二、MySQL时间函数 1. `NOW()`: 返回当前日期和时间,格式为...

    [工具查询]PHP查询QQ空间代码_qqzone.zip

    8. **编码与解码**:由于中文字符在传输和处理过程中可能出现乱码,因此需要确保正确的字符编码设置,例如设置HTTP头的charset属性,使用iconv或mbstring函数进行编码转换。 通过学习这个压缩包中的内容,你可以...

    Linux下批量修改文件编码

    当这些文件在不同系统之间传输时,如果不进行相应的编码转换,可能会导致乱码问题。因此,掌握如何在Linux下批量修改文件编码是一项非常实用且必要的技能。 #### 二、基本概念 在深入探讨之前,我们需要了解几个...

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

    例如,在使用GET请求方式提交表单时,如果不正确地对中文或特殊字符进行编码,可能会在服务器端接收到错误的数据,甚至出现安全漏洞,如SQL注入等。 ### 结语 在实际应用中,urlencode() 和 urldecode() 函数是...

    jq的get传参数在utf-8中乱码问题的解决php版

    3. 在PHP后端,使用`rawurldecode()`或`urldecode()`解码URL参数,并根据需要进行进一步的编码转换。 4. 确保服务器配置、数据库配置以及文件编码都为UTF-8。 5. 设置HTTP响应头,指定返回内容的字符集为UTF-8。 ...

Global site tag (gtag.js) - Google Analytics