Heim  >  Artikel  >  Backend-Entwicklung  >  Können dem PHP-Dateinamen keine chinesischen Zeichen hinzugefügt werden?

Können dem PHP-Dateinamen keine chinesischen Zeichen hinzugefügt werden?

(*-*)浩
(*-*)浩Original
2019-10-16 15:06:212239Durchsuche

Es wird nicht empfohlen, chinesische Dateinamen zu verwenden!

Da Chinesisch URL-codiert und gesendet wird, wird es beim Senden an den Server decodiert. Wenn es jedoch nicht mit Ihrer Codierung übereinstimmt, kann es nicht decodiert werden .

Können dem PHP-Dateinamen keine chinesischen Zeichen hinzugefügt werden?

Einfach ausgedrückt wird das Chinesisch in der URL in gängigen Browsern standardmäßig in UTF-8-Codierung codiert. An den Server senden ! Im chinesischen Windows-Umgebungsserver wird beim Dekodieren der URL die gb2312-Kodierung zum Dekodieren verwendet, was dazu führt, dass der ursprüngliche chinesische Text, den Sie in die Adressleiste eingegeben haben, nicht abgerufen werden kann!

Es wird also angezeigt, dass der Dateiname nicht gefunden werden kann.

Wenn Sie Chinesisch verwenden müssen, ist die Lösung auf Ihre lokale Browserlösung beschränkt

Öffnen Sie im Browser das Menü „Internetoptionen“, wählen Sie „Erweitert“ und dann „Suchen“. „UTF-8-URL senden“ und entfernen Sie den vorherigen Haken. Anschließend bestätigen.

Starten Sie den Browser neu. Auf diese Weise wird das Chinesisch in der Adressleiste standardmäßig in der gb2312-Kodierung gesendet, sodass der Server die Datei mit dem chinesischen Dateinamen korrekt finden kann

Der Diagrammsatz der zuvor verwendeten Webseite utf-8 und die Datei Verwenden Sie auch utf-8 und erstellen Sie dann eine Datei mit einem chinesischen Dateinamen. Der Dateiname ist verstümmelt.

Ich habe viele Dokumente überprüft und viele Methoden ausprobiert, konnte es aber nicht lösen. Ich dachte darüber nach, andere Methoden zu verwenden, um dieses Problem zu umgehen, aber plötzlich kam mir der Gedanke, dass die Standardtextkodierung von Windows ist ansi, und dann habe ich erneut gesucht und es bestätigt. Um dies zu verstehen, sollte meine Webseite auch ansi-codiert sein, damit der erstellte Dateiname nicht verstümmelt wird.

Dann habe ich mit der Überprüfung begonnen, die Webseite mit ANSI gespeichert und die Chartset-Anweisung entfernt. Es war in Ordnung, aber der Inhalt der Webseite war verstümmelt. Später fiel mir ein, dass diese Webseite auch andere Webseiten enthielt Das Include wurde geändert. Die Webseite wurde auch zum Speichern auf Ansi geändert, haha, alles ist in Ordnung.

Programmieren ist wirklich ein Job, der auf Akkumulation beruht. Wenn ich noch nie gesehen hätte, dass die Standardcodierung von Windows Ansi ist, dann ist dieses Problem im Handumdrehen gelöst.

ps: < meta content ="text/html; charset=utf-8" http -equiv ="Content-type" > platziert in Es hat nur vorher funktioniert

Später habe ich mir eine bessere Lösung überlegt. Die Webseite ist immer noch in utf-8 codiert und gespeichert fopen() ist separat codiert. iconv() ist ein Programm, das die Codierung ändert. Es konvertiert utf-8 in gb2312, um verstümmelte chinesische Dateinamen zu vermeiden

Das obige ist der detaillierte Inhalt vonKönnen dem PHP-Dateinamen keine chinesischen Zeichen hinzugefügt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn