日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php json encode中文乱码,php json_encode中文乱码如何解决

發布時間:2025/3/11 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php json encode中文乱码,php json_encode中文乱码如何解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php encode中文亂碼的解決辦法:首先打開相應的PHP文件;然后使用正則語句“preg_replace("#\\\u([0-9a-f]{4})#ie","iconv('UCS-2BE', 'UTF-8'...)”將編碼替換成中文即可。

本文列舉3個方法,實現json_encode()后的string顯示中文問題。

做接口時不需要,但存log時幫了大忙了。

在貼代碼前,必須貼上官方param和return,鏈接:http://php.net/manual/zh/function.json-encode.php

參數value

待編碼的 value ,除了resource類型之外,可以為任何數據類型

該函數只能接受 UTF-8 編碼的數據

options

由以下常量組成的二進制掩碼: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS,JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT,JSON_UNESCAPED_UNICODE.

返回值

編碼成功則返回一個以 JSON 形式表示的 string 或者在失敗時返回 FALSE。<?php

// json_encode() 保持中文方法詳解

$arr['city'] = '北京';

$arr['name'] = 'weilong';

// 直接輸出

// Res: {"city":"\u5317\u4eac","name":"weilong"}

echo json_encode($arr), "\n";

#### 1. 加參數,PHP版本>=5.4

// Res: {"city":"北京","name":"weilong"}

echo json_encode($arr, JSON_UNESCAPED_UNICODE), "\n"; // php >= 5.4

#### 2. 正則替換,json_encode后,正則將編碼替換成中文

// Res: {"city":"北京","name":"weilong"}

echo preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", json_encode($arr)), "\n"; // PHP 5.5 /e修飾符被棄用

echo preg_replace_callback("/\\\u([0-9a-f]{4})/i", function($match) { // php >= 5.3 都可以

return json_decode("\"{$match[0]}\"", true);

}, json_encode($arr)), "\n";

#### 3. urldecode()、urlencode()函數,不推薦

// Res1: null, Res2: {"city":"北京","name":"weilong"}

echo urldecode(json_encode(urlencode($arr))), "\n";

$arr['city'] = urlencode($arr['city']); // urlencode()參數必須是string

echo urldecode(json_encode($arr)), "\n";

// 另外注意json_decode()參數區別。

$arr['city'] = '北京';

$arr['name'] = 'weilong';

$str = json_encode($arr);

$str2 = json_decode($str);

$str3 = json_decode($str, true);

print_r($str2); // object

/* Res:

stdClass Object

(

[city] => 北京

[name] => weilong

) */

print_r($str3); // array

/* Res:

Array

(

[city] => 北京

[name] => weilong

)

*/

總結

以上是生活随笔為你收集整理的php json encode中文乱码,php json_encode中文乱码如何解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。