Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ทำให้ PHP pathinfo() คืนค่าชื่อไฟล์ที่ถูกต้องหากชื่อไฟล์เป็น UTF-8


ฟังก์ชันหลักของ PHP ส่วนใหญ่ไม่ได้เกี่ยวข้องกับชุดอักขระที่แตกต่างจาก Latin-1 แต่ก่อนหน้า "pathinfo" การวาง "setlocale" สามารถใช้เพื่อส่งคืนชื่อไฟล์ที่ถูกต้องแม้ว่าจะเข้ารหัส UTF-8 ก็ตาม

โดยค่าเริ่มต้น จะรันด้วยภาษา 'C' และสคริปต์ CLI จะทำงานด้วยภาษา utf-8 ที่เป็นค่าเริ่มต้น โลแคลบนเซิร์ฟเวอร์ควรเปลี่ยนจาก 'C' เป็น 'C.UTF-8' หรือ 'en_US.UTF-8' ก่อนที่จะเรียกใช้ฟังก์ชันอื่นๆ

setlocale(LC_ALL,'en_US.UTF-8');
pathinfo($OriginalName, PATHINFO_FILENAME);
pathinfo($OriginalName, PATHINFO_BASENAME);