小编Wes*_*rch的帖子

如何检查 PHP 是否是使用 Win32 API 的 UNICODE 版本编译的?

这与这篇 Stack Overflow 帖子有关:

glob() 在 Windows 上找不到多字节字符的文件名?

我在使用 PHP 和 Windows 上具有多字节字符的文件时遇到问题。这是我的测试用例:

print_r(scandir('./uploads/')); 
print_r(glob('./uploads/*'));
Run Code Online (Sandbox Code Playgroud)

远程 UNIX 服务器上的正确输出:

Array
(
    [0] => .
    [1] => ..
    [2] => filename-äöü.jpg
    [3] => filename.jpg
    [4] => test?test.jpg
    [5] => ??? ?????.jpg
    [6] => ?????????.jpg
    [7] => ???.jpg
)
Array
(
    [0] => ./uploads/filename-äöü.jpg
    [1] => ./uploads/filename.jpg
    [2] => ./uploads/test?test.jpg
    [3] => ./uploads/??? ?????.jpg
    [4] => ./uploads/?????????.jpg
    [5] => ./uploads/???.jpg
)
Run Code Online (Sandbox Code Playgroud)

Windows 本地输出不正确

Array
(
    [0] => .
    [1] …
Run Code Online (Sandbox Code Playgroud)

windows php unicode apache-2.2

10
推荐指数
1
解决办法
2651
查看次数

标签 统计

apache-2.2 ×1

php ×1

unicode ×1

windows ×1