PHP 7.1 utf-8 文件名路径名支持

Nokia 发表于 2016/9/2 14:44 | 显示全部楼层 |阅读模式
PHP 7.1之前,Windows PHP文件系统编码都是gbk,系统函数scanDir(), readDir()返回的结果全部是gbk编码,如果php脚本是utf-8编码的,还需要将文件系统函数得到的结果转码成utf-8,否则会出现乱码,提供给文件系统函数的路径,如果包含utf-8字符,也需要将utf-8字符转抱成gbk编码,否则文件系统函数将找不到指定的文件或目录的路径。

从PHP 7.1开始,如果脚本是utf-8编码的,那么PHP支持utf-8编码的文件路径,文件系统相关的函数,他们的参数和输出结果都是utf-8编码,如果像PHP 7.1之前一样先转码再操作,则会失败,如果脚本不是utf-8编码,则依据php.ini中的以下配置项。
internal_encoding
default_charset
zend.multibyte

也就是说,从PHP 7.1开始,操作文件再也不用在编码之间转来转去了,默认就是utf-8编码,如果想要继续进行这种转换,可以通过以下代码来实现。
  1. ini_set('default_charset', 'gbk');
复制代码

手机版|轻松E站

E-mail: OHCC@163.COM

快速回复 返回顶部 返回列表