Проблема с использованием Coldfusion FileExists при проверке файлов с UTF-8 и ASCII - PullRequest
0 голосов
/ 14 мая 2018

При попытке обнаружить существование файлов, которые были закодированы в UTF-8 с помощью функции FileExists, файлы не могут быть найдены.

Я обнаружил, что на сервере Coldfusion Java File Encoding изначально был установлен на "UTF-8".По какой-то неизвестной причине он вернулся к стандартному «ASCII».Я подозреваю, что это проблема.

Например, пользователь загрузил фотографию с именем 云 拼花 .jpg, когда кодировка Java-файла на сервере была установлена ​​в UTF-8, а теперь, когда кодировка Java-файла на сервере установлена ​​в ASCII, я использую

<cfif FileExists("#currentpath##pic#")>

Результат не будет найден, т.е. файл не существует.Однако, если я просто отображу это с помощью:

<IMG SRC="/images/#pic#">

Изображение будет отображаться.Это вызвало проблемы при попытке проверить наличие изображений.Изображения есть, но не могут быть найдены FileExists.

Теперь в каталоге есть смесь файлов, закодированных в UTF-8 или ASCII.Есть ли способ:

  1. принудительно загрузить любой файл в кодировку UTF-8
  2. проверить наличие файла

независимо от CF Admin JavaНастройка кодировки файла?

1 Ответ

0 голосов
/ 14 мая 2018

Добавьте это на свою страницу.

<cfprocessingdirective pageencoding="utf-8">

Это должно решить проблему.

...