Apabila membangunkan PHP, kadangkala anda perlu membaca folder pada pelayan. Walau bagaimanapun, apabila folder mengandungi fail yang dinamakan dalam bahasa Jepun, aksara bercelaru mungkin berlaku Ini kerana PHP menggunakan format pengekodan ASCII secara lalai dan tidak dapat mengecam pengekodan Jepun dengan tepat.
Berikut ialah beberapa kaedah untuk menyelesaikan masalah aksara Jepun yang kacau dalam direktori membaca PHP.
Anda boleh menyelesaikan masalah bercelaru dengan mengubah suai fail konfigurasi PHP php.ini. Cari dua item berikut dalam fail konfigurasi php.ini:
default_charset = "UTF-8" mbstring.language = Japanese
Tukar nilainya kepada yang berikut:
default_charset = "UTF-8" mbstring.language = Neutral
Kelebihan ini ialah program akan menggunakan Format pengekodan UTF- 8 digunakan untuk membaca fail dalam folder, yang menyelesaikan masalah aksara bercelaru.
Anda boleh mengubah suai format pengekodan atur cara supaya ia boleh mengecam pengekodan Jepun. Dalam PHP, anda boleh menggunakan fungsi iconv untuk mengubah suai format pengekodan fail.
Kod sampel adalah seperti berikut:
// 设置文件夹路径和编码格式 $folder_path = "folder_path"; // 文件夹路径 $charset = "Shift_JIS"; // 文件编码格式 // 打开文件夹 $dir = opendir($folder_path); // 读取文件夹内的文件 while ($file = readdir($dir)) { // 排除文件夹内的 . 和 .. 文件 if ($file !== '.' && $file !== '..') { // 修改文件编码格式为 UTF-8 $file = iconv($charset, 'UTF-8', $file); // 输出文件名 echo $file . '<br>'; } } // 关闭文件夹 closedir($dir);
Kelebihan ini ialah tidak perlu menukar fail konfigurasi PHP, cuma ubah suai format pengekodan program secara terus.
Fungsi mb_convert_encoding boleh menukar pengekodan Jepun kepada format pengekodan UTF-8. Kod sampel adalah seperti berikut:
// 设置文件夹路径和编码格式 $folder_path = "folder_path"; // 文件夹路径 $charset = "Shift_JIS"; // 文件编码格式 // 打开文件夹 $dir = opendir($folder_path); // 读取文件夹内的文件 while ($file = readdir($dir)) { // 排除文件夹内的 . 和 .. 文件 if ($file !== '.' && $file !== '..') { // 修改文件编码格式为 UTF-8 $file = mb_convert_encoding($file, 'UTF-8', $charset); // 输出文件名 echo $file . '<br>'; } } // 关闭文件夹 closedir($dir);
Menggunakan fungsi mb_convert_encoding boleh menyelesaikan masalah pengekodan Jepun, tetapi anda perlu memberi perhatian kepada ketekalan format pengekodan.
Ringkasnya, ketiga-tiga kaedah di atas boleh menyelesaikan masalah aksara Jepun yang bercelaru dalam direktori bacaan PHP Kaedah yang manakah harus ditentukan mengikut situasi sebenar.
Atas ialah kandungan terperinci Penyelesaian kepada aksara Jepun yang kacau apabila membaca direktori dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!