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 文字ではないため、アンダースコア文字に置き換えられます。

于 2016-10-31T08:52:19.500 に答える