Dalam PHP, rentetan UTF-8 boleh terbukti bermasalah apabila menggunakan fungsi sistem fail. Pertimbangkan coretan kod di bawah:
$dir_name = "Depósito"; mkdir($dir_name);
Apabila dilayari dalam Windows Explorer, folder yang dibuat muncul sebagai "Depósito". Isu ini timbul disebabkan oleh ketidakserasian antara rentetan UTF-8 dan pengekodan asli sistem fail (ISO-8859-1 pada Windows).
Untuk menyelesaikannya, anda boleh:
Gunakan URL Pengekodan
Pengekodan URL menukar aksara kepada bentuk yang selamat untuk digunakan dalam nama fail. Untuk mencipta direktori dengan aksara UTF-8, anda boleh mengekod rentetan seperti berikut:
$dir_name = urlencode("Depósito"); mkdir($dir_name);
Batasan Penyelesaian Alternatif
Walaupun beberapa penyelesaian alternatif wujud, ia datang dengan kelemahan mereka sendiri:
Dalam kesimpulannya, pengekodan URL kekal sebagai penyelesaian pilihan untuk mengendalikan rentetan UTF-8 dalam fungsi sistem fail PHP. Ia memastikan keserasian merentas persekitaran yang berbeza dan membolehkan perwakilan tepat aksara dalam nama fail.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Direktori dengan Amanah dengan Nama Fail UTF-8 dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!