Character encoding 文件上cfloop的charset属性在Railo中是否正常工作

Character encoding 文件上cfloop的charset属性在Railo中是否正常工作,character-encoding,railo,cfloop,Character Encoding,Railo,Cfloop,Railo标记显然是为了支持charset=“…”属性,因为如果使用了非法属性,它会在错误消息中显示同样多的内容 如果我使用cfloop从没有字符集属性的UTF-8编码文件中读取行,那么它可以正常工作,但我不知道为什么。我更希望是显式的,并声明charset=“utf-8”,但我不确定这是否有任何效果 这样做的原因是,我希望显式声明charset=“windows-1252”或charset=“iso-8859-1”会中断UTF-8编码文件的输入,但它会继续正常工作。charset=“…”似乎不

Railo标记显然是为了支持charset=“…”属性,因为如果使用了非法属性,它会在错误消息中显示同样多的内容

如果我使用cfloop从没有字符集属性的UTF-8编码文件中读取行,那么它可以正常工作,但我不知道为什么。我更希望是显式的,并声明charset=“utf-8”,但我不确定这是否有任何效果

这样做的原因是,我希望显式声明charset=“windows-1252”或charset=“iso-8859-1”会中断UTF-8编码文件的输入,但它会继续正常工作。charset=“…”似乎不会导致错误,但也不会产生任何影响

我在想,没有显式字符集的UTF-8的正确解析明天还是在另一台机器上继续工作

UTF-8是cfloop的默认编码吗?如果没有,是否可以确保使用UTF-8编码


最好使用不涉及更改默认JVM file.encoding属性的解决方案。

在深入研究Railo源代码后,我已经解决了这个问题。字符集属性(通常)不会被忽略。我使用的UTF-8文件有一个字节顺序标记(BOM),尽管我明确要求我的编辑器保存它,但没有。事实证明,如果存在BOM表,则会忽略charset属性,这并不是完全不合理的行为

如果缺少BOM表,则charset=“utf-8”属性将确保使用正确的默认编码,而不考虑System.file.encoding属性的设置