我有一个类似的问题: ColdFusion, CFDirectory and the French which is not given a different answer。
我们已经从 Coldfusion 9 升级到了 Coldfusion 11。到目前为止,除了以下问题,没有什么大问题:
当使用 CFdirectory 显示名称中包含非 ASCII 字符的文件名(例如:重音符号、变音符号)时,我们会看到带有替换字符的文件名 - 而不是正确的 UTF 等效字符。例如,名为 L'État, c'est moi.pdf 的文件显示为 L�����tat, c�est moi.pdf。
我们确信这是一个 Coldfusion 问题,因为除了 Coldfusion 版本没有任何变化。在列出相同的重音文件名时,使用 Coldfusion 9 CFdirectory 可以正常工作。我们的操作系统是 Redhat 7.0,文件名也可以使用 ls 命令正确显示在终端上。我还创建了一个快速的 PHP 脚本,以查看 PHP 是否可以使用“readdir”命令正确读取目录,并且那里也没有问题,文件名是否正确呈现。
所以我相信这一定是 Coldfusion 11 的问题。我在 Coldfusion 管理员服务器界面的 JVM 设置中添加了 -Dfile.encoding=UTF-8 -Dencoding=UTF-8 参数,但没有任何区别。
任何有关如何纠正此问题的建议将不胜感激。
使用的代码示例如下:
<cfdirectory
action="list"
directory="#ExpandPath( './' )#/pdfs"
listinfo="name"
name="qFile"
/>
<cfdump
var="#qFile#"
label="All Files"
/>