Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn der Dateiname einer von PHP hochgeladenen chinesischen Datei verstümmelt ist?
Lösung für den verstümmelten Dateinamen chinesischer Dateien, die von PHP hochgeladen wurden: Fügen Sie relevante Anweisungen in der Mitte des Head-Tags der HTML-Datei hinzu, um die Codierung einheitlich zu halten. Der Code lautet [
Lösung für verstümmelte Dateinamen chinesischer Dateien, die von hochgeladen wurden php:
Methode 1: Lassen Sie mich raten, vielleicht verursacht mein System beim Erstellen chinesischer Dateien verstümmelte Zeichen, also habe ich den Code neu geschrieben:
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/测试数据.txt");The Das Ergebnis wurde erfolgreich ohne verstümmelte Zeichen erstellt.
Denken Sie darüber nach, meine PHP-Datei selbst ist in utf8 codiert muss in utf8 codiert sein, dann ist die zuvor hochgeladene Datei Der Name ist definitiv nicht utf8-codiert, daher ist die folgende Aussage definitiv falsch, da die Quellzeichenfolge selbst nicht utf8-codiert ist:
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/测试数据.txt");Verwenden Sie die Funktion, um das zu überprüfen Kodierung der Quellzeichenfolge:
iconv("UTF-8","gbk//TRANSLIT",$_FILES["file"]["name"]);Das Ergebnis ist CP936, d verstümmelte Zeichen
Methode 2:Tatsächlich gibt es eine andere Lösung, die darin besteht,
$e=mb_detect_encoding($text, array(‘UTF-8’, ‘GBK’,’gb2312’));2 echo $e;in die Mitte des Head-Tags der HTML-Datei einzufügen, damit die Die Codierung bleibt einheitlich und es ist keine Transcodierung mehr erforderlich.
Fazit
Mit der Funktion iconv kann das Problem verstümmelter chinesischer Dateinamen gelöst werden . Tatsächlich kann iconv verschiedene verstümmelte Probleme lösen, die durch inkonsistente Codierung verursacht werden.
Wenn Sie die Iconv-Funktion verwenden, überprüfen Sie bitte zuerst die Codierung der Quellzeichenfolge, es sei denn, Sie haben die Codierung bereits festgelegt der Quellzeichenfolge.
- Versuchen Sie sicherzustellen, dass die Codierung aller Codes konsistent ist. Verwenden Sie die Iconv-Funktion nur als letzten Ausweg >Versuchen Sie, sich zu beschweren, versuchen Sie, keine chinesischen Dateinamen als auf dem Server gespeicherte Dateinamen zu verwenden. Bitte konvertieren Sie den Dateinamen in Ihren eigenen Dateinamen (auch wenn er englisch ist).
- Verwandte Lernempfehlungen:
PHP-Programmierung vom Anfänger bis zum Experten
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn der Dateiname einer von PHP hochgeladenen chinesischen Datei verstümmelt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!