设置
问题
无论脚本是否在我的脚本上执行,文件名的编码都是不同的 Windows测试机或Linux生产系统。
症状
我使用标准ZIP extension
提取有关ZIP存档中上传文件的信息$statDetails = $zip->statIndex( $index )
然后我发出条目的名称:
echo $statDetails[ 'name' ];
请注意,HTTP连接和HTML元数据描述网页[= HTTP回复]的内容为 UTF-8编码。
Windows 测试计算机上的输出:
-RAW Test_A/2015/Dänisch/
在 Linux 生产计算机
上-RAW Test_A/2015/D�nisch/
请注意,Linux计算机上的文件名不再是UTF-8 。
我尝试使用iconv将Linux机器上的上述字符串转换为Latin1 / ISO-8859-1。所有文件名的所有字符都适合Latin1。
不幸的是,我找不到匹配的文本编码。
问题
由于Windows和Linux上的结果不同:
由于两个PHP版本都大于5.2。*,因此它们都应该使用zlib作为documented here。