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维数组还是关联数组,一切都已经自动完成,保证数组转换前后数据一致。从代码的长短以及循环和原生方法的比较上,相信大家已经有了选择。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











„Das angeforderte Modul stellt keinen Export mit dem Namen bereit“ In VueCli wird ein Fehler angezeigt – wie kann man ihn beheben? Während der Entwicklung des Vue-Projekts kann es zu der Fehlermeldung „Therequestedmoduledoesnotprovideanexportnamed“ kommen. Diese Fehlermeldung erscheint normalerweise bei der Einführung von Drittanbieterkomponenten

Bei der Textverarbeitung ist es häufig erforderlich, Zeichenfolgen in verschiedene Kodierungsformate zu konvertieren. Die in der PHP-Sprache bereitgestellte Funktion iconv (InternationalizationConversion) kann diesen Bedarf sehr bequem erfüllen. In diesem Artikel wird die Verwendung der Funktion „iconv“ im Detail unter folgenden Aspekten vorgestellt: Definition der Funktion „iconv“ und Einführung in allgemeine Parameter. Beispieldemonstration: GBK-codierte Zeichenfolge in UTF-8-codierte Zeichenfolge konvertieren. Beispieldemonstration: UTF konvertieren

Analyse der Go-Sprachkodierung: UTF-8 vs. GBK-Vergleich In der Go-Sprache ist die Verarbeitung der String-Kodierung eine der häufigsten Aufgaben. Unter diesen sind UTF-8 und GBK zwei häufig verwendete Zeichenkodierungsmethoden. In diesem Artikel wird ein detaillierter Vergleich zwischen UTF-8 und GBK durchgeführt, deren Unterschiede und Verwendung erläutert und spezifische Codebeispiele beigefügt. 1. Einführung in UTF-8 und GBK UTF-8: UTF-8 ist eine Unicode-Codierungsmethode mit variabler Länge, die Zeichen in fast allen Sprachen der Welt darstellen kann. UTF-8

iconv-fencoding[-tencoding][Eingabedatei]...[Funktion] Konvertiert den Inhalt einer bestimmten Datei von einer Kodierung in eine andere. [Beschreibung]-fencoding: Konvertieren Sie Zeichen von Codierung in Codierung. -tencoding: Zeichen in Kodierung umwandeln. -l: Den bekannten Satz codierter Zeichen auflisten -ofile: Ausgabedatei angeben -c: Unzulässige Zeichen in der Ausgabe ignorieren -s: Warnmeldungen, aber keine Fehlermeldungen unterdrücken --verbose: Fortschrittsinformationen anzeigen -f und -t können Die angegebenen zulässigen Zeichen werden im Befehl mit der Option -l aufgelistet. [Beispiel]* Derzeit unterstützte Zeichenkodierungen auflisten

Der Unterschied zwischen export und export default besteht darin, dass das Schlüsselwort export zum Exportieren einer oder mehrerer Variablen, Funktionen oder Klassen verwendet wird, während das Schlüsselwort export default zum Exportieren einer Standardvariablen, -funktion oder -klasse verwendet wird. In anderen Modulen können Sie das Schlüsselwort import verwenden, um diese exportierten Variablen, Funktionen oder Klassen zu importieren.

1. Klicken Sie mit der rechten Maustaste auf das Startmenü und klicken Sie auf Ausführen. 2. Drücken Sie die Strg-Taste und drücken Sie die Eingabetaste, um die Systemsteuerung zu öffnen > Uhr und Region > Region > Verwaltungsmethode > Regionseinstellungen des Betriebssystems aktualisieren > Aktivieren Sie „Beta-Version: UnicodeUTF-8 verwenden, um globale Sprachunterstützung sicherzustellen“.

1.Exportfunktion //Dateischnittstelle exportieren publicStringexport(){returnthis.myExport(exportList);} 2.Spaltenname exportieren privateStringmyExport(Listlist){com.bronzesoft.power.tools.json.JSONObjectinfo=newcom.bronzesoft.power.tools .json.JSONObject();try{ListheadList=newArrayList(Arrays.asList(&

In diesem Artikel wird das Ändern des Zeichenkodierungsvektors in Schriftarten in PHP ausführlich erläutert. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Ändern der Zeichenkodierung in einer Zeichenfolge in PHP In PHP bestimmt die Zeichenkodierung einer Zeichenfolge, wie die Zeichen dargestellt werden. Um die Zeichenkodierung einer Zeichenfolge zu ändern, können Sie die folgenden Schritte ausführen: 1. Bestimmen Sie die aktuelle Zeichenkodierung $encoding=mb_detect_encoding($string); Dadurch wird eine Zeichenfolge zurückgegeben, die die aktuelle Zeichenkodierung der Zeichenfolge darstellt, z. B. „UTF“. -8“ oder „ISO-8859-1“. 2. Verwenden Sie mb_convert_encoding
