Rumah pembangunan bahagian belakang tutorial php php中json_encode UTF-8中文乱码的更好解决方法_php技巧

php中json_encode UTF-8中文乱码的更好解决方法_php技巧

May 16, 2016 pm 08:35 PM
json_encode utf-8 aksara Cina yang kacau

最近在接口代码当中用到过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;

}
Salin selepas log masuk

第二种:

这种是在网上看到的,然后就是有评论说会出现无限循环的问题,但是这显然很全面的,然后我测试之后也确实有,贴这里仅供参考

代码如下

/**************************************************************

*

* 使用特定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);

}
Salin selepas log masuk

对中文返回是null空的话我们需要进行字符转换成uft8或者先使用urlencode进行编译呼。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kaedah untuk menyelesaikan masalah aksara Cina bercelaru dalam PHP Dompdf Kaedah untuk menyelesaikan masalah aksara Cina bercelaru dalam PHP Dompdf Mar 05, 2024 pm 03:45 PM

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.

Penyelesaian muktamad kepada masalah aksara Cina yang kacau dalam PyCharm Penyelesaian muktamad kepada masalah aksara Cina yang kacau dalam PyCharm Jan 27, 2024 am 08:00 AM

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

Punca dan penyelesaian biasa untuk aksara Cina yang kacau dalam pemasangan MySQL Punca dan penyelesaian biasa untuk aksara Cina yang kacau dalam pemasangan MySQL Mar 02, 2024 am 09:00 AM

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

Apa yang perlu dilakukan jika ajax menghantar aksara Cina yang kacau Apa yang perlu dilakukan jika ajax menghantar aksara Cina yang kacau Nov 15, 2023 am 10:42 AM

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.

Apakah yang perlu saya lakukan jika halaman web PHP mempunyai aksara Cina yang kacau? Penyelesaian yang lengkap Apakah yang perlu saya lakukan jika halaman web PHP mempunyai aksara Cina yang kacau? Penyelesaian yang lengkap Mar 26, 2024 pm 03:27 PM

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

Kaedah untuk menyelesaikan masalah aksara Cina yang kacau dalam sistem Linux Kaedah untuk menyelesaikan masalah aksara Cina yang kacau dalam sistem Linux Feb 19, 2024 am 09:22 AM

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

Kaedah praktikal untuk menyelesaikan masalah aksara Cina yang kacau dalam Eclipse dengan berkesan Kaedah praktikal untuk menyelesaikan masalah aksara Cina yang kacau dalam Eclipse dengan berkesan Jan 03, 2024 pm 05:50 PM

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 masalah bercelaru Cina matplotlib Kaedah yang berkesan untuk menyelesaikan masalah bercelaru Cina matplotlib Jan 13, 2024 am 11:03 AM

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

See all articles