php数组编码转换示例详解_PHP
因为一些特殊字符的显示效果的原因不得不把习惯的utf-8工程改成了GBK,由于使用了ajax技术,又涉及到了老问题——编码转换。一些表单验证需要返回json数据,php的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数。
最开始的思路,将数组序列化后用iconv函数转换编码,之后再反序列化,代码如下:
复制代码 代码如下:
unserialize(iconv('gbk','utf-8',serialize($array)));
得到的结果是空白,后来想起来配置文件里设置了默认编码 ini_set('default_charset', 'gbk'); 这样用gbk反序列化utf-8的字符串肯定不好用了,此处在序列化和反序列化之间加个ini_set('default_charset', 'utf-8'); 应该也是可以的,但这么弄总觉得有点别扭,因为是全局的编码设置,很容易导致其他地方的编码问题,比如数据库操作。那么换个思路,用构建数组原型的序列化方法,借助var_export函数,最终函数如下:
复制代码 代码如下:
function array_iconv($in_charset,$out_charset,$arr){
return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));
}
原理很简单 var_export设置第二个参数为true,返回数组原型字符串,将字符串转换为utf-8编码,之后再用eval来执行返回(类似匿名函数?),至此完美解决问题。
后续:后来在网上搜了下资料,看有没有更好的方法,找到的都大同小异,都是利用递归调用iconv的方式,如果数组元素过多或者维数多一些,性能上肯定不怎么样了,更好的是原生代码的方式,不需要考虑是N维数组还是关联数组,一切都已经自动完成,保证数组转换前后数据一致。从代码的长短以及循环和原生方法的比较上,相信大家已经有了选择。

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

Cara menggaris pada komputer Apabila memasukkan teks pada komputer, kita selalunya perlu menggunakan garis bawah untuk menyerlahkan kandungan tertentu atau menandakannya. Walau bagaimanapun, bagi sesetengah orang yang tidak begitu biasa dengan kaedah input komputer, menaip garis bawah boleh menjadi agak mengelirukan. Artikel ini akan memperkenalkan anda kepada cara menggariskan pada komputer anda. Dalam sistem pengendalian komputer dan perisian yang berbeza, cara untuk memasukkan garis bawah mungkin sedikit berbeza. Berikut akan memperkenalkan kaedah biasa pada sistem pengendalian Windows dan sistem pengendalian Mac masing-masing. Mula-mula, mari kita lihat operasi dalam Windows

Sebagai bahasa pengaturcaraan yang berkuasa, Golang mempunyai prestasi tinggi dan keupayaan serentak, dan juga menyediakan sokongan perpustakaan standard yang kaya, termasuk sokongan untuk penukaran pengekodan. Artikel ini akan meneroka secara mendalam prinsip pelaksanaan penukaran pengekodan di Golang dan menganalisisnya dengan contoh kod khusus. Apakah transcoding? Penukaran pengekodan merujuk kepada proses menukar jujukan aksara daripada satu pengekodan kepada pengekodan yang lain. Dalam pembangunan sebenar, kita selalunya perlu mengendalikan penukaran antara pengekodan yang berbeza, seperti menukar rentetan yang dikodkan UTF-8.

Mempelajari fungsi penukaran pengekodan dedecms tidak rumit Contoh kod mudah boleh membantu anda menguasai kemahiran ini dengan cepat. Dalam dedecms, fungsi penukaran pengekodan biasanya digunakan untuk menangani masalah seperti aksara Cina yang kacau dan aksara khas untuk memastikan operasi normal sistem dan ketepatan data. Berikut akan memperkenalkan secara terperinci cara menggunakan fungsi penukaran pengekodan dedecms, membolehkan anda mengatasi pelbagai keperluan berkaitan pengekodan dengan mudah. 1.UTF-8 kepada GBK Dalam dedecms, jika anda perlu menukar rentetan dikodkan UTF-8 kepada G

Cara menangani isu penukaran pengekodan dalam pembangunan C++ Semasa proses pembangunan C++, kami sering menghadapi masalah yang memerlukan penukaran antara pengekodan yang berbeza. Oleh kerana terdapat perbezaan antara format pengekodan yang berbeza, anda perlu memberi perhatian kepada beberapa butiran semasa melakukan penukaran pengekodan. Artikel ini akan memperkenalkan cara menangani isu penukaran pengekodan dalam pembangunan C++. 1. Fahami format pengekodan yang berbeza Sebelum menangani isu penukaran pengekodan, anda perlu terlebih dahulu memahami format pengekodan yang berbeza. Format pengekodan biasa termasuk ASCII, UTF-8, GBK, dsb. ASCII ialah format pengekodan terawal

PHP ialah bahasa skrip yang digunakan secara meluas dalam pembangunan web, terutamanya pembangunan program bahagian pelayan. Dalam proses pembangunan Web, isu pengekodan adalah bahagian yang sangat penting Untuk menyelesaikan masalah pengekodan, anda perlu menguasai kaedah pengekodan dan penukaran yang disokong oleh PHP. Artikel ini akan memperkenalkan jenis pengekodan utama dan kaedah penukaran yang disokong oleh PHP. 1. Jenis pengekodan Dalam proses pembangunan Web, jenis pengekodan yang biasa digunakan adalah seperti berikut: 1. Pengekodan ASCII Kod ASCII ialah Kod Standard Amerika untuk Pertukaran Maklumat, yang boleh mewakili 127 aksara, termasuk nombor dan perkataan.

"Cara menggunakan pemalam penukaran pengekodan DedeCMS memerlukan contoh kod khusus" DedeCMS ialah sistem pengurusan kandungan sumber terbuka yang berkuasa dan mudah digunakan yang digunakan secara meluas dalam pelbagai pembinaan tapak web. Dalam proses menggunakan DedeCMS, kadangkala anda akan menghadapi situasi di mana anda perlu mengekod kandungan, terutamanya apabila berurusan dengan laman web berbilang bahasa atau melibatkan data dalam pengekodan yang berbeza. Untuk memudahkan operasi ini, DedeCMS menyediakan pemalam penukaran pengekodan, yang boleh menukar pengekodan kandungan dengan mudah dan meningkatkan fleksibiliti tapak web.

Dalam pangkalan data MySQL, pengekodan aksara adalah konsep yang sangat penting. Pengekodan aksara merujuk kepada cara aksara dipetakan ke dalam data binari. Terdapat banyak jenis pengekodan aksara yang disokong dalam MySQL, yang paling biasa digunakan ialah pengekodan Ascii dan pengekodan UTF-8. Kedua-dua pengekodan aksara ini memainkan peranan yang sangat penting dalam MySQL, kerana data dalam MySQL disimpan dalam bentuk aksara, dan pilihan pengekodan aksara boleh menjejaskan prestasi dan ruang pangkalan data. Pengekodan Ascii ialah kaedah pengekodan berdasarkan huruf Latin.

Dengan perkembangan globalisasi, pertukaran antara bahasa dan budaya yang berbeza telah menjadi lebih kerap dan lebih dekat. Masalah yang terhasil ialah pengekodan aksara antara bahasa dan budaya yang berbeza telah mula menjadi kompleks dan pelbagai. Apabila memproses pelbagai data, kami perlu melakukan penukaran pengekodan untuk memastikan ketepatan dan ketekalan data. Dalam bahasa Go, kita boleh menggunakan MySQL untuk melaksanakan penukaran pengekodan data. Artikel ini akan memperkenalkan secara terperinci cara menggunakan MySQL untuk melaksanakan penukaran pengekodan data dalam bahasa Go. 1. Pengekodan aksara dalam bahasa Go dan MySQL
