Mengendalikan Nama Fail UTF-8 dalam Fungsi Sistem Fail PHP
Apabila mencipta folder yang mengandungi aksara UTF-8 menggunakan fungsi mkdir PHP, anda mungkin menghadapi paparan isu dalam Windows Explorer disebabkan pengekodan ketidakserasian.
Penyelesaian: URL Encode Nama Fail
Untuk menyelesaikan isu ini, gunakan fungsi urlencode untuk menukar nama folder yang diingini kepada format selamat URL sebelum menghantarnya ke mkdir:
$dir_name = urlencode("Depósito"); mkdir($dir_name);
Ini memastikan bahawa semua aksara dalam nama folder dikodkan menjadi sah nama fail untuk semua sistem pengendalian. Untuk mendapatkan semula nama fail UTF-8 yang asal, gunakan urldecode.
Penyelesaian Alternatif (dengan Kaveat)
Walaupun pengekodan URL ialah penyelesaian yang disyorkan, terdapat alternatif yang kurang menarik:
Tukar kepada ISO-8859-1 (Windows Sahaja)
Pada Windows, anda boleh bekerja dengan nama fail UTF-8 tetapi ambil perhatian bahawa aksara bukan ASCII akan muncul secara tidak betul di luar PHP. Untuk menangani perkara ini, gunakan utf8_decode untuk menukar nama fail kepada ISO-8859-1 sebelum menggunakannya dalam fungsi sistem fail.
Hadkan kepada Aksara ISO-8859-1
Sebagai alternatif, hadkan nama fail kepada aksara yang boleh diwakili dalam ISO-8859-1. Gunakan utf8_decode dan utf8_encode untuk menukar nama fail antara UTF-8 dan ISO-8859-1.
Walau bagaimanapun, alternatif ini disertakan dengan kaveat:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Nama Fail UTF-8 dalam Fungsi Sistem Fail PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!