


Erwähnenswert sind mehrere verstümmelte PHP-Chinesisch-Probleme
Verstümmelte chinesische PHP-Zeichen sind eines der häufigsten Probleme bei der PHP-Entwicklung.
PHP-chinesische verstümmelte Zeichen treten manchmal auf der Webseite selbst auf, einige treten während der Interaktion mit MySQL auf und manchmal hängen sie mit dem Betriebssystem zusammen. Hier ist eine Zusammenfassung.
1. Die erste ist die Codierung der PHP-Webseite.
Die beste und schnellste Lösung besteht darin, die von der Seite deklarierte Codierung mit der internen Codierung der Datenbank in Einklang zu bringen die interne Codierung der Datenbank, mysql_query („SET NAMES KKK“) kann das Problem der verstümmelten Zeichen definitiv lösen Datei selbst und die Kodierung der Webseite sollten mit a übereinstimmen. Wenn Sie die Kodierung gb2312 verwenden möchten, muss PHP Header ausgeben: header("Content-Type: text/html; charset=gb2312"), add zur statischen Seite, alle Das Kodierungsformat der Datei ist ANSI, Sie können sie mit Notepad öffnen, speichern unter und die Kodierung als ANSI auswählen, und überschreiben Sie die Quelldatei. b. Wenn Sie die UTF-8-Codierung verwenden möchten, sollte PHP den Header ausgeben: header("Content-Type: text/html; charset=utf-8") und “ in die statische Seite ein. Das Codierungsformat aller Dateien ist utf-8. Das Speichern als UTF-8 kann etwas mühsam sein. Wenn Sie Session verwenden, können Sie Editplus zum Speichern verwenden. Parameterauswahl->Datei-> UTF-8-Signatur, wählen Sie Immer löschen und speichern Sie dann, um die Stücklisteninformationen zu entfernen.
2. PHP selbst ist kein Unicode, daher müssen alle Funktionen wie substr in mb_substr geändert werden (die Erweiterung mbstring muss installiert werden); oder iconv kann zum Transkodieren verwendet werden.
2. Dateninteraktion zwischen PHP und MySQL
Die Kodierung von PHP und der Datenbank sollte konsistent sein
1. Ändern Sie die MySQL-Konfigurationsdatei my.ini oder my.cnf, die am besten mit utf8 kodiert wird. mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 default-storage-engine=MyISAM Unter [mysqld] hinzufügen: default-collation=utf8_bin init_connect='SET NAMES utf8'
2. Fügen Sie mysql_query("set name's 'encoding'"); vor dem PHP-Programm hinzu, das mit der PHP-Codierung übereinstimmt. Wenn die PHP-Codierung gb2312 ist es ist utf-8, dann ist die MySQL-Codierung utf8, sodass beim Einfügen oder Abrufen von Daten keine verstümmelten Zeichen auftreten
3. PHP hängt mit dem Betriebssystem zusammen. Wenn in der Windows-Umgebung die Parameter beim Aufrufen von PHP-Funktionen utf-8-codiert sind, treten Fehler auf, z. B. move_uploaded_file(), filesize(), readfile () usw. Diese Funktionen werden häufig beim Verarbeiten von Uploads und Downloads verwendet. Beim Aufruf kann der folgende Fehler auftreten: Warnung: move_uploaded_file()[function.move-uploaded-file]: failed to open stream: Invalid argument in ... Warnung: move_uploaded_file()[function.move-uploaded-file]: '' kann nicht nach '' in ... verschoben werden Warnung: filesize() [function.filesize]: stat failed for ... in ... Warnung: readfile( ) [function.readfile]: Stream konnte nicht geöffnet werden: Ungültiges Argument in .. Obwohl diese Fehler bei Verwendung der gb2312-Kodierung in einer Linux-Umgebung nicht auftreten, wird der gespeicherte Dateiname verstümmelt und die Datei kann in diesem Fall nicht gelesen werden In diesem Fall können Sie zunächst die Parameter in die vom Betriebssystem erkannte Kodierung konvertieren. Die Kodierungskonvertierung kann mb_convert_encoding (Zeichenfolge, neue Kodierung, ursprüngliche Kodierung) oder iconv (ursprüngliche Kodierung, neue Kodierung, Zeichenfolge) sein, sodass der Dateiname angezeigt wird Die nach der Verarbeitung gespeicherten Daten werden nicht verstümmelt. Dateien können normal gelesen werden und Dateien mit chinesischen Namen können hoch- und heruntergeladen werden. Tatsächlich gibt es eine bessere Lösung, nämlich eine vollständige Trennung vom System, ohne dass die Codierung des Systems berücksichtigt werden muss. Sie können als Dateinamen nur eine Folge von Buchstaben und Zahlen generieren und den ursprünglichen Namen mit chinesischen Zeichen in der Datenbank speichern. Auf diese Weise gibt es beim Aufruf von move_uploaded_file() keine Probleme, Sie müssen nur Änderungen vornehmen Der Dateiname wird mit chinesischen Schriftzeichen zum Originalnamen. Der Code zum Implementieren des Herunterladens lautet wie folgt: header("Pragma: public"); header("Expires: 0"); ; header( "Content-type: $file_size"); header("Content-Disposition: attachment; header("Content-Transfer-"); Kodierung: binär "); readfile($file_path); $file_type ist der Dateityp, $file_name ist der ursprüngliche Name und $file_path ist die Adresse der im Dienst gespeicherten Datei.
4. Fassen wir zusammen, warum verstümmelte Zeichen auftreten. Im Allgemeinen gibt es zwei Gründe für das Auftreten verstümmelter Zeichen. Erstens liegt es an einem Fehler bei der Codierung (Zeichensatz), der dazu führt, dass der Browser die falsche Codierung verwendet, was zu einem Durcheinander führt „Himmlisches Buch“, das den Bildschirm ausfüllt. Zweitens wurde die Datei mit der falschen Codierung geöffnet und dann gespeichert. Beispielsweise wurde eine Textdatei ursprünglich in GB2312 codiert, aber in UTF-8-Codierung geöffnet und gespeichert. Um das obige Problem mit verstümmeltem Code zu lösen, müssen Sie zunächst wissen, welche Aspekte der Entwicklung das Codieren beinhalten:
1. Dateikodierung: Bezieht sich auf die Kodierung, in der die Seitendatei (.html, .php usw.) selbst gespeichert wird. Notepad und Dreamweaver erkennen beim Öffnen der Seite automatisch die Dateikodierung, sodass es weniger Probleme gibt. Allerdings erkennt ZendStudio die Kodierung nicht automatisch. Es öffnet die Datei nur in einer bestimmten Kodierung entsprechend der Konfiguration der Einstellungen. Wenn Sie die Datei während der Arbeit versehentlich mit der falschen Kodierung öffnen und sie nach der Änderung verstümmelt speichern Charaktere werden erscheinen (ich fühle es tief).
2. Kodierung der Seitendeklaration: Im HTML-Code HEAD können Sie um dem Browser mitzuteilen, welche Codierung für die Webseite verwendet wird. Derzeit verwendet XXX in der chinesischen Website-Entwicklung hauptsächlich GB2312 und UTF-8. 3. Codierung der Datenbankverbindung: Bezieht sich darauf, welche Codierung beim Ausführen von Datenbankvorgängen verwendet wird. Wann Beim Übertragen von Daten aus der Datenbank müssen Sie darauf achten, diese nicht mit der Codierung der Datenbank selbst zu verwechseln. Die Standardcodierung in MySQL ist beispielsweise die Latin1-Codierung, was bedeutet, dass MySQL Daten in der Latin1-Codierung speichert Andere Kodierungen werden in „latin1“ konvertiert. Wenn Sie wissen, wo die Kodierung bei der WEB-Entwicklung eine Rolle spielt, kennen Sie auch die Ursache für verstümmelte Zeichen: Die oben genannten drei Kodierungen sind inkonsistent, da die meisten der verschiedenen Kodierungen ASCII-kompatible, englische Symbole sind wird nicht angezeigt, und Chinesisch wird nicht angezeigt.
5 Die Datenbank verwendet die UTF8-Kodierung und die Seitendeklarationskodierung ist GB2312. Dies ist die häufigste Ursache für verstümmelte Zeichen. Zu diesem Zeitpunkt werden die direkten SELECT-Daten im PHP-Skript verstümmelt. Sie müssen Folgendes verwenden: mysql_query("SET NAMES GBK "); um die MYSQL-Verbindungskodierung vor der Abfrage festzulegen. Die Seitendeklarationskodierung stimmt mit der hier festgelegten Verbindungskodierung überein (GBK ist eine Erweiterung von GB2312). Wenn die Seite UTF-8-kodiert ist, können Sie Folgendes verwenden: mysql_query("SET NAMES UTF8"); Beachten Sie, dass es sich um UTF8 anstelle des häufig verwendeten UTF- handelt. 8. Wenn die auf der Seite deklarierte Kodierung mit der internen Kodierung der Datenbank übereinstimmt, müssen Sie die Verbindungskodierung nicht festlegen. Hinweis: In Tatsächlich ist die Dateneingabe und -ausgabe von MYSQL komplizierter als oben erwähnt. In der MYSQL-Konfigurationsdatei my.ini sind zwei Standardkodierungen definiert: der Standardzeichensatz in [Client] und der Standardzeichensatz in [mysqld], um die von der Client-Verbindung und der Datenbank intern verwendete Codierung festzulegen. Der Befehlszeilenparameter „character_set_client“ teilt dem MYSQL-Server beim Herstellen einer Verbindung mit, welche Codierung die Client-Daten erhalten ist, anstatt die Standardkodierung zu verwenden
2. Seitendeklarationskodierung und die Datei selbst Inkonsistente Kodierung, dies kommt selten vor, denn wenn die Kodierung inkonsistent ist, sieht der Künstler das Browser beim Erstellen der Seite wird verstümmelter Code sein. In den meisten Fällen wird dies dadurch verursacht, dass einige kleinere Fehler nach der Veröffentlichung behoben, die Seite in der falschen Codierung geöffnet und dann gespeichert werden. Oder Sie verwenden eine FTP-Software, um Dateien direkt online zu ändern, z. B. CuteFTP. Aufgrund einer falschen Software-Kodierungskonfiguration wird die falsche Kodierung konvertiert. 3. Einige Freunde, die virtuelle Hosts mieten, haben immer noch verstümmelte Zeichen, obwohl die oben genannten drei Kodierungen korrekt eingestellt sind. Wenn die Webseite beispielsweise in GB2312 kodiert ist, wird sie beim Öffnen von Browsern wie dem IE immer als UTF-8 erkannt. Der HEAD der Webseite hat bereits angegeben, dass es sich um GB2312 handelt, nachdem die Browserkodierung manuell auf GB2312 geändert wurde , die Seite wird normal angezeigt. Der Grund dafür ist, dass der Server-Apache die globale Standardkodierung des Servers festlegt und AddDefaultCharset UTF-8 in httpd.conf hinzufügt. Zu diesem Zeitpunkt sendet der Server zuerst den HTTP-Header an den Browser und seine Priorität ist höher als die auf der Seite deklarierte Codierung. Natürlich erkennt der Browser ihn falsch. Es gibt zwei Lösungen. Administratoren sollten AddDefaultCharset GB2312 zu ihrer eigenen virtuellen Maschine in der Konfigurationsdatei hinzufügen, um die globale Konfiguration zu überschreiben, oder sie in .htaccess in ihrem eigenen Verzeichnis konfigurieren. Zusammenfassung: Kurz gesagt, der beste und schnellste Weg, den am stärksten verstümmelten chinesischen PHP-Code zu lösen, besteht darin, die auf der Seite deklarierte Codierung mit der internen Codierung der Datenbank in Einklang zu bringen, wenn die für die Seite verwendete Seitennummer nicht mit der internen übereinstimmt Kodierung der Datenbank, legen Sie die Verbindungskodierung fest („SET NAMES XXX“); Dies wird das Problem der verstümmelten Zeichen definitiv lösen

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











Es gibt vier Hauptfehlertypen in PHP: 1. Nichts: Das geringste unterbrochen das Programm nicht, wie z. B. Zugriff auf undefinierte Variablen; 2. Warnung: Ernst als Bekanntmachung, wird das Programm nicht kündigen, z. B. keine Dateien; 3. FatalError: Das schwerwiegendste wird das Programm beenden, z. 4. Parseerror: Syntaxfehler verhindern, dass das Programm ausgeführt wird, z. B. das Vergessen, das End -Tag hinzuzufügen.

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

Zu den HTTP -Anforderungsmethoden gehören GET, Post, Put und Löschen, mit denen Ressourcen erhalten, übermittelt, aktualisiert und gelöscht werden. 1. Die GET -Methode wird verwendet, um Ressourcen zu erhalten, und eignet sich für Lesevorgänge. 2. Die Post -Methode wird verwendet, um Daten zu übermitteln und häufig neue Ressourcen zu erstellen. 3. Die Put -Methode wird zum Aktualisieren von Ressourcen verwendet und eignet sich für vollständige Updates. V.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

PHP überlädt Datei -Hochladen über die Variable $ \ _ Dateien. Zu den Methoden zur Sicherstellung gehören: 1. Upload -Fehler, 2. Dateityp und -größe überprüfen, 3.. Dateiüberschreibung verhindern, 4. Verschieben von Dateien auf einen dauerhaften Speicherort.

In Phpoop bezieht sich Self :: auf die aktuelle Klasse, Eltern :: Bezieht sich auf die Elternklasse, static :: wird für die späte statische Bindung verwendet. 1.self :: wird für statische Methoden und konstante Aufrufe verwendet, unterstützt jedoch keine späte statische Bindung. 2.PARENT :: wird für Unterklassen verwendet, um übergeordnete Klassenmethoden aufzurufen, und auf private Methoden können nicht zugegriffen werden. 3.Static :: unterstützt die verspätete statische Bindung, geeignet für Vererbung und Polymorphismus, kann jedoch die Lesbarkeit des Codes beeinflussen.
