On PHP 7.1 and later, filesystem functions on Windows
use the Unicode system functions, which makes our file
handling work for non-ASCII file names.
Previously this was blacklisted for Windows on all PHP
versions. Versions before 7.1 will still reject Unicode
filenames with non-ASCII chars.
Bug: T3780
Change-Id: I94377faa5185f133be2dfb7b9b6aeacbd582834f
}
public function getFeatures() {
- return !$this->isWindows ? FileBackend::ATTR_UNICODE_PATHS : 0;
+ if ( $this->isWindows && version_compare( PHP_VERSION, '7.1', 'lt' ) ) {
+ // PHP before 7.1 used 8-bit code page for filesystem paths on Windows;
+ // See http://php.net/manual/en/migration71.windows-support.php
+ return 0;
+ } else {
+ return FileBackend::ATTR_UNICODE_PATHS;
+ }
}
protected function resolveContainerPath( $container, $relStoragePath ) {