php json_encode实现与中文乱码解决方法
php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它,这个函数的功能是将数值转换成json数据存储格式.
<?php $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()将编码过的中文转回来.
<?php 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); ?>
应用实例:
<?php $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) . '})'; ?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

解決PHPDompdf中文亂碼問題的方法PHPDompdf是一個用於將HTML文件轉換為PDF文件的工具,它的功能強大且易於使用。然而,在處理中文內容時,有時會遇到中文亂碼的問題。本文將介紹一些解決PHPDompdf中文亂碼問題的方法,並提供具體的程式碼範例。一、使用字體檔案在處理中文內容時,一個常見的問題是Dompdf預設不支援中

解決PyCharm中文亂碼問題的終極方法,需要具體程式碼範例引言:PyCharm作為一款常用的Python整合開發環境(IDE),具有強大的功能和友善的使用者介面,被廣大開發者所喜愛和使用。然而,PyCharm在處理中文字元時,有時可能會遇到亂碼的問題,會對開發和除錯造成一定的困擾。本文將介紹如何解決PyCharm中文亂碼問題,並給出具體的程式碼範例。一、設定項目編

MySQL安裝中文亂碼的常見原因及解決方案MySQL是一種常用的關係型資料庫管理系統,但在使用過程中可能會遇到中文亂碼的問題,這給開發者和系統管理員帶來了困擾。中文亂碼問題的出現主要是因為字元集設定不正確、資料庫伺服器和客戶端字元集不一致等原因導致的。本文將詳細介紹MySQL安裝中文亂碼的常見原因及解決方案,幫助大家更能解決這個問題。一、常見原因:字元集設

ajax傳遞中文亂碼的解決方法:1.設定統一的編碼方式;2、伺服器端編碼;3、客戶端解碼;4、設定HTTP回應頭;5、使用JSON格式。詳細介紹:1、設定統一的編碼方式,確保伺服器端和客戶端使用相同的編碼方式,通常情況下,UTF-8是一種常用的編碼方式,因為它可以支援多種語言和字元集;2 、伺服器端編碼,在伺服器端,確保將中文資料以正確的編碼方式編碼,再傳遞給客戶端等等。

PHP網頁中文亂碼問題是在網頁顯示中出現中文字元顯示為亂碼的情況,這種情況通常是由於編碼不一致或未設定字元集所導致的。解決PHP網頁中文亂碼問題需要從多個方面入手,以下是一些常見的解決方案以及具體的程式碼範例。設定PHP檔案編碼:首先確保PHP檔案本身的編碼是UTF-8,可以在編輯器中設定儲存時使用UTF-8編碼,或在PHP檔案頭部新增下列程式碼設定編碼:&l

快速解決Eclipse中文亂碼的實用技巧,需要具體程式碼範例概述:Eclipse是一款廣泛使用的整合開發環境(IDE),它不僅支援多種程式語言的開發,也支援多種作業系統。然而,有時在使用Eclipse流程中,我們可能會遇到中文亂碼的問題,這對我們的開發工作造成了不便。本文將介紹一些實用技巧,幫助我們快速解決Eclipse中文亂碼問題,並附上具體的程式碼範例。一、

Linux中文亂碼問題是許多中文使用者在使用Linux系統時經常遇到的一個困擾。中文亂碼的主要原因是因為Linux系統預設使用的字元編碼是UTF-8,但某些軟體或應用程式可能不相容於UTF-8編碼,導致中文無法正確顯示。解決這個問題的方法有很多,以下將詳細介紹幾種常見的解決方法,並提供具體的程式碼範例。修改終端字元編碼設定:終端的字元編碼設定決定了終端能夠正確

快速解決matplotlib中文亂碼的有效方法導語:matplotlib是Python中常用的繪圖庫,然而在使用中文進行標註和顯示時,經常會出現亂碼的情況。本文將介紹一些有效的解決方法,並提供具體的程式碼範例。一、設定字體matplotlib預設使用系統字體進行中文顯示,但是系統字體往往不包含中文字符,因此需要手動設定合適的中文字體。首先需要確認計算機中是否已
