Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Làm cho pathinfo() PHP trả về tên file đúng khi tên file là UTF-8


Hầu hết các hàm lõi PHP không xử lý bộ ký tự ngoài Latin-1. Nhưng trước 'pathinfo', đặt 'setlocale' có thể dùng để trả về tên file đúng ngay cả khi nó được mã hóa UTF-8.

Mặc định, nó chạy với locale 'C', và script CLI chạy với locale utf-8 mặc định. Locale trên server nên được thay đổi từ 'C' sang 'C.UTF-8' hoặc 'en_US.UTF-8' trước khi gọi các hàm khác.

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