php地址栏传中文$_GET下来后乱码,urlencode和urldecode,iconv,base64_encode等方法,整理基本是常用的了。
php地址栏传中文$_GET下来后乱码,urlencode和urldecode用法详解
url编码
语法: string urlencode(string str);
返回值: 字符串
函数种类: 编码处理
php地址栏传中文$_GET下来后乱码,urlencode和urldecode,iconv,base64_encode等方法,整理基本是常用的了。
php地址栏传中文$_GET下来后乱码,urlencode和urldecode用法详解
url编码
语法: string urlencode(string str);
返回值: 字符串
函数种类: 编码处理
pack
压缩资料到位字符串之中。
语法: string pack(string format, mixed [args]…);
返回值: 字符串
函数种类: 资料处理
内容说明
本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。
开发中遇到一个奇怪的问题,报错如下:iconv() [<a href='function.iconv'>function.iconv</a>] : Wrong charset, conversion from 'gbk' to 'utf8' is not allowed at line 24
查来查去,也没发现有什么问题,后来经请教同事,原来是utf8应改为utf-8,可能是由于linux函数库中就是utf-8吧,所以以后建议使用utf-8,增加兼容性。
还有一点:json格式数据中文只支持utf-8编码,应用iconv转码中文,否则前台接收的数据为空。
php5.2以后自带json_decode函数,但是对json文本串的格式要求非常严格。
很可能使用该函数得到的返回值是NULL
可以使用使用json_last_error()
函数获取到的返回值来帮助我们判断出问题的原因。
其中如果提示错误JSON_ERROR_SYNTAX(Syntax error)
,表示json串格式错误。