本文目录一览:
- 1、我用php输出json 中文显示乱码,请大侠帮忙解决一下
- 2、php json 输出中文乱码的问题怎么处理啊,谢谢
- 3、phpmysql生成json中文乱码
- 4、PHP中json_encode中文乱码问题
- 5、PHP从Mysql查出来的数据转换成json格式中文乱码怎么解决
我用php输出json 中文显示乱码,请大侠帮忙解决一下
用json_decode()方法可以把这些代码还原为php格式,然后输出就可以看到中文了
如下:
$js_str = 你所谓的乱码;
$arr = json_deconde ($js_str);
print_r($arr);
php json 输出中文乱码的问题怎么处理啊,谢谢
header("Content-Type:text/html;charset=UTF-8");
$arr=array('1','2','三');
echo $arr['2']."br /";
print_r($arr);
echo "br /";
print_r(json_encode($arr));
echo "br /";
print_r(json_decode(json_encode($arr)));
输出json数据会有 但是 翻译成数组后就行了
phpmysql生成json中文乱码
你好,这是json对中文处理后的编码,不属于乱码,如果不想它编码可以在json_encode的第二个参数加
JSON_UNESCAPED_UNICODE
。
json_encode($var,JSON_UNESCAPED_UNICODE);
PHP中json_encode中文乱码问题
php 中使用 json_encode() 内置函数(php 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式
$arr = array ('a'=1,'b'=2,'c'=3,'d'=4,'e'=5);
echo json_encode($arr);
//结果
//{"a":1,"b":2,"c":3,"d":4,"e":5}
/*
下面看一款json_encode中文乱码问题
解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来
*/
function arrayrecursive($array, $function, $apply_to_keys_also = false)
{
static $recursive_counter = 0;
if (++$recursive_counter 1000) {
die('possible deep recursion attack');
}
foreach ($array as $key = $value) {
if (is_array($value)) {
arrayrecursive($array[$key], $function, $apply_to_keys_also);
} else {
$array[$key] = $function($value);
}
if ($apply_to_keys_also is_string($key)) {
$new_key = $function($key);
if ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
/**************************************************************
*
* 将数组转换为json字符串(兼容中文)
* @param array $array 要转换的数组
* @return string 转换得到的json字符串
* @access public
*
*************************************************************/
function json($array) {
arrayrecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
$array = array
(
'name'='希亚',
'age'=20
);
echo json($array);
//应用实例
$servname="localhost";
$sqlservname="root";
$sqlservpws="123456";
$sqlname="lock1";
$db=mysql教程_connect($servname,$sqlservname,$sqlservpws) or die("数据库教程连接失败");
mysql_select_db($sqlname,$db);
$sql = "select * from t_operater";
$result =mysql_query($sql);
$rows = mysql_num_rows($result);
while($obj = mysql_fetch_object($result))
{
$arr[] = $obj;
}
echo '({"total":"'.$rows.'","results":'.json_encode($arr).'})';
PHP从Mysql查出来的数据转换成json格式中文乱码怎么解决
需要保持 编码一致 包括
1 创建一致 使用UTF8
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2. 链接编码一致
$mysqli-query("SET NAMES 'UTF8'");
3. html php 页面声明 编码一致
header("Content-Type: text/html; charset=utf-8");
4 . 脚本文件 编码一致
存储脚本文件时选择unicode UTF8
特别提示, windows 使用中文文件名和目录名 , 默认的是GBK 要写入非 gbk数据库需要转为一致的代码