PHP学习散记_编码(json_encode 中文不显示)
作者:bea
在网上找到一种解决方法: 代码如下: <?php /* 处理json_encode中文乱码 */ $data = array ('game' => '冰火国度', 'name' => '刺之灵', 'country' => '冰霜国', 'level' => 45 ); echo json_encode ( $data ); echo "<br>"; $newData = array (); foreach ( $d
在网上找到一种解决方法:
代码如下:
<?php
/* 处理json_encode中文乱码 */
$data = array ('game' => '冰火国度', 'name' => '刺之灵', 'country' => '冰霜国', 'level' => 45 );
echo json_encode ( $data );
echo "<br>";
$newData = array ();
foreach ( $data as $key => $value ) {
$newData [$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $newData ) );
?>
后来请教了别人,还可以用base64编码,不过base64编码不可以放在URL中,百度是这样解释的:
标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。
不过我的数据是要通过POST发送的,并不在HTTP 的head中,而在message-body里,所以不受影响。
json_encode 只能接受utf-8格式的数据
urlencode base64_encode 只能接受字符串类型的参数,所以无法对整个数组进行编码。
有用 | 无用
代码如下:
<?php
/* 处理json_encode中文乱码 */
$data = array ('game' => '冰火国度', 'name' => '刺之灵', 'country' => '冰霜国', 'level' => 45 );
echo json_encode ( $data );
echo "<br>";
$newData = array ();
foreach ( $data as $key => $value ) {
$newData [$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $newData ) );
?>
后来请教了别人,还可以用base64编码,不过base64编码不可以放在URL中,百度是这样解释的:
标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。
不过我的数据是要通过POST发送的,并不在HTTP 的head中,而在message-body里,所以不受影响。
json_encode 只能接受utf-8格式的数据
urlencode base64_encode 只能接受字符串类型的参数,所以无法对整个数组进行编码。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- php从右向左/从左向右截取字符串的实现方法
- PHP的array_diff()函数在处理大数组时的效率问题
- PHP 中检查或过滤IP地址的实现代码
- PHP中usort在值相同时改变原始位置问题的解决方法
- PHP中strtotime函数使用方法详解
- 遍历指定目录下的所有目录和文件的php代码
- 用PHP写的基于Memcache的Queue实现代码
- PHP中去除换行解决办法小结(PHP_EOL)
- php操作SVN版本服务器类代码
- 支持中文的php加密解密类代码
- php UBB 解析实现代码
- PHP高自定义性安全验证码代码
- php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
- Linux fgetcsv取得的数组元素为空字符串的解决方法
- php 团购折扣计算公式
- php中$_REQUEST、$_POST、$_GET的区别和联系小结
- 打造超酷的PHP数据饼图效果实现代码
- DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
- 一个PHP的QRcode类与大家分享