当尝试使用FileExists函数检测UTF-8编码的文件是否存在时,找不到文件。
我发现在 Coldfusion 服务器中,Java 文件编码最初设置为“UTF-8”。由于某种未知的原因,它又回到了默认的“ASCII”。我怀疑这就是问题所在。
例如,用户上传了一张名为云拼花.jpg的照片,而服务器Java文件编码设置为UTF-8,现在服务器Java文件编码设置为ASCII,我使用
<cfif FileExists("#currentpath##pic#")>
结果将找不到,即文件不存在。但是,如果我只是使用以下方式显示它:
<IMG SRC="/images/#pic#">
将显示图像。当我尝试测试图像的存在性时,这引起了问题。图像在那里,但 FileExists 找不到。
现在该目录混合了以 UTF-8 或 ASCII 编码的文件。有没有办法:
- 强制所有上传文件采用 UTF-8 编码
- 检查文件是否存在
无论 CF Admin Java 文件编码设置如何?
最佳答案
将其添加到您的页面。
<cfprocessingdirective pageencoding="utf-8">
这应该可以解决问题。
关于java - 使用 UTF-8 和 ASCII 检查文件时使用 Coldfusion FileExists 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50321245/