encoding - Coldfusion 11 的 CFdirectory,文件名中的非 ascii 字符问题

标签 encoding utf-8 coldfusion jvm cfdirectory

我有一个类似的问题: ColdFusion, CFDirectory and the French 没有得到满意的答复。

我们已经从 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"
/>

This the output of the cfdump:

最佳答案

您是否尝试过设置 cfprocessingdirective 标签?

<cfprocessingdirective pageencoding="utf-8">

CF 11 WikiDocs

此外,在 Chrome 网络检查器中,确保正确返回编码。例如:

Content-Type:text/html; charset=UTF-8

关于encoding - Coldfusion 11 的 CFdirectory,文件名中的非 ascii 字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27056883/

相关文章:

c# - XML Unicode 安全编码

javascript - 当涉及重音等时,如何从 javascript 以 GET 请求形式重现 url 编码?

unicode - UTF-8 二进制文件必须在 Erlang 的二进制文字中包含/utf8 吗?

c++ - strnicmp 等同于 UTF-8?

json - ColdFusion 使用非标准字符解析 JSON

r - twitteR 和 R 的 Twitter 表情符号编码问题

c# - 使用 UTF8 编码将字节转换为字符串是否安全?

drupal - 使用忽略某些 unicode 字符的 PDFTK(或 php/javabridge)填写 PDF 表单

coldfusion - 如何限制实体的 cfdump 大小

sql-server - 当完全相同的查询在 winSQL 中返回记录时,Coldfusion 查询不返回任何记录