ColdFusion, CFDirectory и французский

У нас есть система управления файловой библиотекой ColdFusion, которая снимается со старого сервера ColdFusion 4 и переносится на новую систему, основанную на ColdFusion 8.

Все наши файлы и папки на английском, французском и испанском языках.

Использование CFDirectory в CF8 для загрузки и отображения этих файлов и папок вызывает две проблемы с французскими и испанскими файлами и папками, но эти две проблемы, вероятно, связаны.

  1. Каталоги с акцентированными символами не возвращаются из cfdirectory.
  2. Файлы с акцентированными символами отображаются с ног на голову? вместо акцентированного символа.

Серверы Solaris 10 с веб-серверами SunONE 6.1

Обновить

Теперь мы сузили проблему до JVM. Файловая система выглядит хорошо, но мы получаем ту же проблему с файлами и каталогами, если мы включаем класс Java, который использует базовый ввод-вывод файла Java.

Буду признателен за любые предложения о том, как исправить это в JVM

3 ответа

Я не нашел ничего конкретного для вашей проблемы, но я увидел эту заметку в заметках о выпуске для версии 6:

Вы не можете использовать cfinclude включить файл с двухбайтовым именем файла.

Нет указаний на то, было ли это исправлено. Я не уверен, но я предполагаю, что "двухбайтовые" имена файлов относятся к использованию Unicode, который, я полагаю, вам нужно использовать для получения акцентированных символов в именах файлов... так что это может быть каким-то образом связано с вашей проблемой,

Если вы не можете просто переименовать файлы, чтобы удалить акцентированные символы, я бы порекомендовал зарегистрировать ошибку в официальной базе данных ошибок ColdFusion.

Проблема может заключаться в том, что символы в каталогах, создаваемых CF 4, не являются юникодом... на самом деле, если CF4 создал их, я могу в значительной степени гарантировать, что они не таковы, потому что CF до 6 не знал Unicode или utf-8 из дыры в земле. Это часто заканчивалось использованием некоторых странных кодировок. С другой стороны, CF6+ предполагает, что почти все - это utf-8.

Я считаю, что это ваша проблема с ОС.

Я использую редакцию CF8 dev на Ubuntu с украинским языком и могу делать следующие вещи.

Список каталогов с двухбайтовыми символами:

<cfset path = "/home/trovich/docs/журнали/" />
<cfdirectory action="list" directory="#path#" name="qGetDirectory" />
<cfinclude template="файл_з_іїґ.cfm">

Файл file_з_іїґ.cfm содержит следующий код:

<cfoutput>
<cfloop query="qGetDirectory">
#qGetDirectory.name#<br>
</cfloop>
</cfoutput>

И результат следующий:

Акция
Ї
RING0
root#ua
PHP!nside
Phrack Magazine
phparchitect
Бійцівський Клуб
Bricolage
Друшляк

Ничего не пропустил, включи работает отлично.

PS Надеюсь, ваш браузер будет правильно отображать символы Unicode.

Другие вопросы по тегам