ColdFusion, CFDirectory и французский - PullRequest
3 голосов
/ 11 ноября 2009

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

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

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

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

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

Обновление

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

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

Ответы [ 3 ]

1 голос
/ 11 ноября 2009

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

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

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

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

0 голосов
/ 12 ноября 2009

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

0 голосов
/ 11 ноября 2009

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

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

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

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

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

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

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

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

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

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

...