basename丢失中文问题解决

# 输入:
var_dump(basename("xf/中文qq.zip"));
# 输出:
string(12) "qq.zip"
# 期待的输出为:
string(12) "中文qq.zip"
可以发现中文部分丢失,使用下面的方法解决,或者手动拆分字符串
解决办法:
setlocale(LC_ALL, 'zh_CN.UTF-8');
var_dump(basename("xf/中文qq.zip"));
// ❌ 默认情况下,中文可能丢失
setlocale(LC_ALL, 'C'); // 或 'POSIX'
var_dump(basename('/path/文件.pdf')); // Linux下可能输出乱码 string(4) ".pdf"

// ✅ 设置正确的 locale 后
setlocale(LC_ALL, 'zh_CN.UTF-8');
var_dump(basename('/path/文件.pdf')); // 正确输出:string(10) "文件.pdf"