php中json_encode UTF-8中文乱码的更好解决方法_php技巧
最近在接口代码当中用到过json_encode,在网上找到说json_encode编码设置为UTF-8中文就不会乱码,经验证这办法确实是有效果的,但是不知道为什么,代码在用过一段时间之后就不太管用了。以下是自己的解决json_encode的办法。有更好的方法请分享出来吧!
第一种:
这种简单的做一个代码转换,urlcode之后再返回所需数组
我代码这样就足够了。
代码如下 复制代码
public static function encodeOperations ($array) { foreach ((array)$array as $key => $value) { if (is_array($value)) { encodeOperations($array[$key]); } else { $array[$key] = urlencode(mb_convert_encoding($value,'UTF-8','GBK')); } } return $array; }
第二种:
这种是在网上看到的,然后就是有评论说会出现无限循环的问题,但是这显然很全面的,然后我测试之后也确实有,贴这里仅供参考
代码如下
/************************************************************** * * 使用特定function对数组中所有元素做处理 * @param string &$array 要处理的字符串 * @param string $tocode 编码后 * @param string $oldcode 编码前 * @param string $function 要执行的函数 * @return boolean $apply_to_keys_also 是否也应用到key上 * @return array $array 是否也应用到key上 * @access public * *************************************************************/ function encodeOperations (&$array, $function, $tocode=false,$oldcode=false,$apply_to_keys_also = false) { foreach ($array as $key => $value) { (www.jb51.net) if (is_array($value)) { encodeOperations($array[$key], $function, $apply_to_keys_also); } else { if($tocode&&$oldcode) { if(function_exists(mb_convert_encoding)) { $value = mb_convert_encoding($value,$tocode,$oldcode); }else{ return "error"; } } $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]); } } } return $array; } /****from:http://www.jb51.net/phper/31/66729.htm********************************************************** * * 将数组转换为JSON字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * *************************************************************/ function JSON($array) { arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); }
对中文返回是null空的话我们需要进行字符转换成uft8或者先使用urlencode进行编译呼。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kaedah untuk menyelesaikan masalah bahasa Cina PHPDompdf PHPDompdf ialah alat untuk menukar dokumen HTML kepada fail PDF Ia berkuasa dan mudah digunakan. Walau bagaimanapun, semasa memproses kandungan Cina, anda kadangkala menghadapi masalah aksara Cina yang bercelaru. Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan masalah aksara Cina bercelaru dalam PHPDompdf dan memberikan contoh kod khusus. 1. Apabila menggunakan fail fon untuk memproses kandungan Cina, masalah biasa ialah Dompdf tidak menyokong kandungan Cina secara lalai.

Kaedah muktamad untuk menyelesaikan masalah aksara Cina yang kacau dalam PyCharm memerlukan contoh kod khusus Pengenalan: PyCharm, sebagai persekitaran pembangunan bersepadu (IDE) Python yang biasa digunakan, mempunyai fungsi yang berkuasa dan antara muka pengguna yang mesra, serta disukai dan digunakan oleh. majoriti pemaju. Walau bagaimanapun, apabila PyCharm memproses aksara Cina, kadangkala ia mungkin menghadapi aksara bercelaru, yang menyebabkan masalah tertentu dalam pembangunan dan penyahpepijatan. Artikel ini akan memperkenalkan cara menyelesaikan masalah bercelaru bahasa Cina dalam PyCharm dan memberikan contoh kod khusus. 1. Sediakan projek

Penyebab dan penyelesaian biasa untuk aksara Cina yang kacau dalam pemasangan MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan, tetapi anda mungkin menghadapi masalah aksara Cina yang kacau semasa digunakan, yang membawa masalah kepada pembangun dan pentadbir sistem. Masalah aksara Cina bercelaru terutamanya disebabkan oleh tetapan set aksara yang salah, set aksara yang tidak konsisten antara pelayan pangkalan data dan pelanggan, dsb. Artikel ini akan memperkenalkan secara terperinci punca dan penyelesaian biasa aksara Cina yang kacau dalam pemasangan MySQL untuk membantu semua orang menyelesaikan masalah ini dengan lebih baik. 1. Sebab biasa: tetapan set watak

Penyelesaian untuk ajax untuk menghantar aksara Cina yang kacau: 1. Tetapkan kaedah pengekodan bersatu 2. Pengekodan bahagian pelayan 4. Tetapkan pengepala respons HTTP; Pengenalan terperinci: 1. Tetapkan kaedah pengekodan bersatu untuk memastikan pelayan dan klien menggunakan kaedah pengekodan yang sama Dalam keadaan biasa, UTF-8 ialah kaedah pengekodan yang biasa digunakan kerana ia boleh menyokong pelbagai bahasa dan set aksara; 2 , Pengekodan bahagian pelayan Di bahagian pelayan, pastikan data Cina dikodkan dalam kaedah pengekodan yang betul dan kemudian dihantar kepada pelanggan, dsb.

Masalah aksara Cina yang kacau dalam halaman web PHP ialah aksara Cina dipaparkan sebagai aksara yang kacau dalam paparan halaman web Keadaan ini biasanya disebabkan oleh pengekodan yang tidak konsisten atau set aksara tidak ditetapkan. Menyelesaikan masalah aksara Cina bercelaru dalam halaman web PHP memerlukan bermula dari banyak aspek Berikut adalah beberapa penyelesaian biasa dan contoh kod khusus. Tetapkan pengekodan fail PHP: Mula-mula pastikan pengekodan fail PHP itu sendiri ialah UTF-8 Anda boleh menetapkan pengekodan UTF-8 apabila menyimpan dalam editor, atau tambahkan kod berikut pada pengepala fail PHP untuk ditetapkan. pengekodan: &l

Masalah aksara Cina bercelaru Linux adalah masalah yang sering dihadapi oleh ramai pengguna Cina apabila menggunakan sistem Linux. Sebab utama aksara Cina bercelaru ialah pengekodan aksara lalai yang digunakan oleh sistem Linux ialah UTF-8, tetapi sesetengah perisian atau aplikasi mungkin tidak serasi dengan pengekodan UTF-8, menyebabkan aksara Cina tidak dipaparkan dengan betul. Terdapat banyak cara untuk menyelesaikan masalah ini Beberapa penyelesaian biasa akan diperincikan di bawah dan contoh kod khusus akan disediakan. Ubah suai tetapan pengekodan aksara terminal: Tetapan pengekodan aksara terminal menentukan sama ada terminal boleh dengan betul

Petua praktikal untuk menyelesaikan dengan cepat aksara Cina yang kacau dalam Eclipse memerlukan contoh kod khusus: Eclipse ialah persekitaran pembangunan bersepadu (IDE) yang digunakan secara meluas yang bukan sahaja menyokong pembangunan berbilang bahasa pengaturcaraan, tetapi juga menyokong berbilang sistem pengendalian. Walau bagaimanapun, kadangkala apabila menggunakan Eclipse, kami mungkin menghadapi masalah aksara Cina yang bercelaru, yang membawa kesulitan kepada kerja pembangunan kami. Artikel ini akan memperkenalkan beberapa teknik praktikal untuk membantu kami menyelesaikan dengan cepat masalah aksara Cina yang kacau dalam Eclipse dan melampirkan contoh kod tertentu. satu,

Kaedah yang berkesan untuk menyelesaikan aksara Cina matplotlib dengan cepat. Artikel ini akan memperkenalkan beberapa penyelesaian yang berkesan dan memberikan contoh kod khusus. 1. Tetapkan fon matplotlib menggunakan fon sistem untuk paparan bahasa Cina secara lalai Walau bagaimanapun, fon sistem selalunya tidak mengandungi aksara Cina, jadi anda perlu menetapkan fon Cina yang sesuai secara manual. Pertama, anda perlu mengesahkan sama ada komputer mempunyai
