2009-11-11 32 views
3

我们有一个正在采取关闭旧的ColdFusion 4服务器和移动到它基于的ColdFusion 8的ColdFusion,CFDirectory和法国

我们所有的文件和文件夹是新系统的ColdFusion文件库管理系统英文,法文和西班牙文。

在CF8中使用CFDirectory加载和显示这些文件和文件夹导致法文和西班牙文件和文件夹出现两个问题,但这两个问题可能是链接的。

  1. 带有重音字符的目录不会从cfdirectory返回。
  2. 重音字符的文件显示颠倒?而不是重音字符。

的服务器的Solaris 10 SUNONE 6.1 Web服务器

更新

现在,我们已经缩小了问题,下到JVM。文件系统看起来不错,但是如果我们包含一个使用基本Java文件IO的Java类,我们也会遇到与文件和目录相同的问题。

如何在JVM纠正这种任何建议,将不胜感激

回答

1

我还没有发现任何具体到你的问题,但我没有看到这个说明在Release notes for version 6

你不能使用cfinclude包含具有双字节文件名的文件。

没有指出是否已被修复。我不确定,但我认为“双字节”文件名是指使用unicode,我相信你需要使用unicode来获取文件名中的重音字符......所以它可能会以某种方式与您的问题相关联。

如果您不能简单地重命名文件以删除重音字符,我会建议在官方ColdFusion bug database中提交一个错误。

0

我相信这是你的操作系统问题。

我在Ubuntu上使用CF8开发版与乌克兰语言环境,并可以执行以下操作。

列出目录双字节字符:

<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.希望你的浏览器能正确呈现Unicode字符。

+0

unicode字符为我渲染罚款。 :)如果这是真的,那么是的,我会怀疑是JVM还是操作系统问题。 – 2009-11-11 20:48:06

+0

来自infrustructure团队的人告诉我,已经安装了OS和JVM的所有语言包,并从网络服务器浏览到文件夹,显示带有重音字符的文件/文件夹 – 2009-11-12 12:38:03

0

问题可能是由CF 4创建的dirs中的字符不是unicode ...实际上,如果CF4创建了它们,那么我几乎可以保证它们不是因为CF之前的6不知道unicode或UTF-8从地面的一个洞里。它通常最终会使用一些奇怪的编码。另一方面,CF6 +假设几乎所有东西都是utf-8。

+0

感谢你们,我们目前正在尝试。但是从CF8创建带有重音字符的新文件夹会产生相同的结果......我们将尝试更多的测试。 – 2009-11-12 12:40:19

+0

如果是这样的话,我会打赌问题是与文件系统 – ryber 2009-11-12 14:03:06

+0

的事情,只是检查,文件和目录都显示在Dreamweaver和Filezilla中正确... – 2009-11-12 17:46:32