如何在TYPO3中上传正确的文件名清理?

时间:2016-10-28 16:54:41

标签: typo3 typo3-7.6.x typo3-7.x fal

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

E.g。文件名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!.png重命名为Braem.png或至少Braem_.png

我还能看到什么?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

确保LocalConfiguration.php中的[SYS][UTF8filesystem] = true