So verwenden Sie die Funktion mb_detect_encoding in PHP
In diesem Artikel wird hauptsächlich die Verwendung der Funktion mb_detect_encoding in PHP ausführlich erläutert, einschließlich der Konvertierung und Beurteilung der Zeichenfolgencodierung sowie der Lösung für den Fehler beim Aufruf der undefinierten Funktion mb_detect_encoding(). Freunde in Not können sich darauf beziehen
Sie können die Funktion mb_detect_encoding() in PHP verwenden, um die Kodierung eines Strings zu bestimmen.
Bei der Verwendung der Funktion mb_detect_encoding in PHP zur Codierungsidentifizierung sind viele Menschen auf das Problem einer falschen Codierung gestoßen, z. B. GB2312 und UTF-8 oder UTF-8 und GBK (hauptsächlich hier) In Bezug auf die Beurteilung von cp936) Im Internet heißt es, dass sich mb_detect_encoding aufgrund kurzer Zeichen verfehlt.
Der Code lautet wie folgt:
$encode = mb_detect_encoding($keytitle, array("ASCII","UTF-8","GB2312","GBK","BIG5")); if($encode == "UTF-8"){ $keytitle = iconv("UTF-8","GBK",$keytitle); }
Die Funktion dieses Codes besteht darin, zu erkennen, ob die Codierung der Zeichenfolge UTF ist -8. Wenn ja, in GBK konvertieren.
Aber wenn $keytitle = „%D0%BE%C6%AC“; Das Erkennungsergebnis ist UTF-8. Dieser Fehler ist eigentlich kein Fehler, und Sie sollten sich beim Schreiben von Programmen nicht zu sehr auf mb_detect_encoding verlassen. Wenn die Zeichenfolge kurz ist, sind die Erkennungsergebnisse wahrscheinlich verzerrt.
Lösung, der Code lautet wie folgt:
$encode = mb_detect_encoding($keytitle, array("ASCII","GB2312","GBK","UTF-8");
Die drei Parameter sind: die erkannte Eingabevariable, die Erkennungsreihenfolge der Codierungsmethode (Sobald dies zutrifft, wird Folgendes automatisch ignoriert.) Der strikte Modus passt die Reihenfolge der Codierungserkennung an und stellt die größte Möglichkeit an die erste Stelle, wodurch die Wahrscheinlichkeit einer falschen Konvertierung verringert wird.
Im Allgemeinen sollte gb2312 zuerst sortiert werden. Wenn es GBK und UTF-8 gibt, müssen die häufig verwendeten zuerst sortiert werden.
Konvertierung und Beurteilung der PHP-String-Kodierung
Die Konvertierung von GBK- und UTF-8-Kodierung ist eine sehr widerliche Sache, zum Beispiel funktioniert json_encode selbst in PHP nicht Alle Unterstützt die GBK-Formatkodierung. Es gibt zwei Bibliotheksfunktionen, die die Kodierungskonvertierung unterstützen können. Die iconv-Funktion, die mir normalerweise in den Sinn kommt, macht sehr viel Spaß:
iconv('GBK', 'UTF-8//IGNORE', 'test string'); /Konvertieren Sie die Zeichenfolge von der GBK-Codierung in die UTF-8-Codierung
Iconv kann jedoch nur die Situation lösen, in der die Codierung im Voraus bekannt ist. Wenn die Zeichenfolgencodierung unbekannt ist, müssen Sie möglicherweise zuerst ihre Codierung ermitteln In diesem Fall wird die mb_string-Erweiterungsbibliothek verwendet:
mb_detect_encoding('test string');
MB_detect_encoding weist jedoch einen Fehler auf und es kommt häufig zu ungenauen Beurteilungen. Vielleicht kann dies gelöst werden:
// 使用 iconv 转换并判断是否等值,效率不高 function is_utf8 ($str) { if ($str === iconv('UTF-8', 'UTF-8//IGNORE', $str)) { return 'UTF-8'; } } // 多种编码的情况 function detect_encoding ($str) { foreach (array('GBK', 'UTF-8') as $v) { if ($str === iconv($v, $v . '//IGNORE', $str)) { return $v; } } }
Nachdem Sie die String-Codierungsinformationen mit der oben genannten Methode erhalten haben, können Sie iconv oder mb_convert_encoding verwenden, um die Codierung zu konvertieren.
Fehlerbehebung beim Aufruf der undefinierten Funktion mb_detect_encoding()
Unter Windows-System:
1. Schwerwiegender Fehler: Aufruf der undefinierten Funktion: iconv() in C:Program FilesAppServwww...xxx.php in Zeile 82
Es gibt eine iconv()-Funktion in PHP für die Zeichenkodierungskonvertierung
Extension=php_iconv.dll existiert auch in der php.ini-Datei
Eine solche Anweisung kann die normale Verwendung dieser Funktion sicherstellen
Wenn vor extension=php_iconv.dll in der php.ini-Datei ein Semikolon steht
, bedeutet dies, dass es auskommentiert ist Semikolon, entfernen Sie es und starten Sie den Server neu
und führen Sie das Programm erneut aus, um das Problem zu lösen
2. Schwerwiegender Fehler: Aufruf der undefinierten Funktion: mb_detect_encoding() in C:Program FilesAppServwww...xxx.php online 1355
1. PHP-Erweiterungsverzeichnis gefunden (der Pfad meines PHP-Erweiterungsverzeichnisses ist: C:Program FilesAppServphpextensions)
Suchen Sie die Datei php_mbstring.dll im Erweiterungsverzeichnis,
2. Kopieren Sie den php_mbstring. dll-Datei in das Verzeichnis, in dem sich die php.ini-Datei befindet (das Verzeichnis, in dem sich meine php.ini-Datei befindet: C:WINDOWS)
3. Öffnen Sie die php.ini-Datei mit Notepad und verwenden Sie die Tastenkombination Strg+ F, um extension=php_mbstring.dll zu finden
4. Wenn php extension=php_mbstring.dll in der .ini-Datei vorhanden ist, entfernen Sie das Semikolon vor der Erweiterungszeile,
Wenn es nicht existiert, fügen Sie extension=php_mbstring hinzu .dll in die nächste Zeile mit der anderen Erweiterung=...,
Denken Sie zum Schluss daran, die php.ini-Datei zu speichern
5. Starten Sie Ihren Apache-Server neu
Ich habe gerade herausgefunden, dass es nicht funktioniert Wenn Sie die Datei php_mbstring.dll nicht in das Verzeichnis kopieren, in dem sich php.ini befindet
Linux Unter dem System:
Wenn das folgende Problem auftritt:
PHP 1. {main}() /home/xu/web/whois/ab.cn.php:0
PHP 2. base_func->is_exist() /home/xu/web/whois /ab.cn.php:21
PHP 3. strftime() /home/xu/web/whois/whois.mysql.php: 46
ab.cnis exist
PHP Schwerwiegender Fehler: Aufruf zur undefinierten Funktion mb_detect_encoding() in /home/xu/web/whois/whois.main.php in Zeile 98
Ich habe verschiedene Online-Suchen durchgeführt. Nachdem ich die Informationen gesammelt hatte, stellte ich fest, dass das PHP-Plugin php-mbstring nicht vorhanden war installiert (einige Schüler haben dieses Plug-in möglicherweise nicht in php.ini aktiviert. Ich habe diese Datei für Notizen geschrieben).
Verwenden Sie zuerst yum oder apt, um mbstring.so zu installieren, verwenden Sie den Befehl: yum install php-mbstring oder apt-get install php-mbstring (Ubuntu-Benutzer verwenden am besten apt-cache search mbstring, um vor der Installation zu suchen . Der Softwarename ist möglicherweise falsch)
Dann ändern Sie php.ini: Führen Sie vim /etc/php.ini aus und fügen Sie den Inhalt extension="/usr/lib/php/modules/mbstring.so" hinzu. Die folgenden Pfade können je nach mbstring unterschiedlich sein .so Nehmen Sie einfach die entsprechenden Änderungen am Verzeichnis vor. Im Allgemeinen besteht keine Notwendigkeit, es zu ändern.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So lösen Sie das Problem, dass PHP mkdir() keine Schreibberechtigungen hat
So implementieren Sie die PHPInfo-Systemansichtsparameterfunktion
Über die Verwendung von PHP Artisan Migrate unter Laravel 5.1
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktion mb_detect_encoding in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
