1

当我在全新的 TYPO3 7.6 安装中上传一个命名错误(或“utf8-ly”)的文件时,我得到下划线而不是拼写特殊字符。

例如,文件名Bräm!.png被清理为Bra__m_.png. 我会期待Braem.png

服务器区域设置看起来不错:

LANG=de_CH.UTF-8
LC_CTYPE="de_CH.UTF-8"
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_MONETARY="de_CH.UTF-8"
LC_MESSAGES="de_CH.UTF-8"
LC_PAPER="de_CH.UTF-8"
LC_NAME="de_CH.UTF-8"
LC_ADDRESS="de_CH.UTF-8"
LC_TELEPHONE="de_CH.UTF-8"
LC_MEASUREMENT="de_CH.UTF-8"
LC_IDENTIFICATION="de_CH.UTF-8"
LC_ALL=

在 localConfiguration 中,我们有

'systemLocale' => 'de_CH.UTF-8',

甚至,在 php.ini 中,我尝试过

intl.default_locale = de_CH.UTF-8

尽管如此,没有像我期望的那样“正确”重命名,将文件重命名Bräm!.pngBraem.png或至少Braem_.png.

我还能看哪里?

4

2 回答 2

0

根据您的描述,文件的名称不是以 UTF-8 编码,而是以单字节字符集(例如 ISO-8859-1)编码。如果您在\TYPO3\CMS\Core\Resource\Driver\LocalDriver::sanitizeFileName()后端使用 UTF-8(与旧的文件处理函数相同),则使用 UTF-8。

在这种情况下,“ä”不是有效的多字节 UTF-8 字符,因此被下划线字符替换。

于 2016-10-31T08:52:19.500 回答
0

确保[SYS][UTF8filesystem] = true在你 LocalConfiguration.php

于 2016-11-04T18:41:15.833 回答