使用冷箱,Coldfusion 9。
我已经使用 form-post 和 url 参数对此进行了测试。在这两种情况下,我都会提交字符串:
"à á Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü ß"
,在这两种情况下,我都会立即将输入转储到浏览器,现在看起来像:
“ à á à à à à à à à à à à à à à à ã
.
元标记有:charset=utf-8
我也试过charset=iso-8859-1
.
没什么区别。
GetLocale() = en_IE
GetEncoding("url") = UTF-8
GetEncoding("form") = UTF-8
现在,有趣的是,我在同一台服务器上构建了一个简单的 CF 页面,但在 Coldbox 框架之外,并且在表单/url 发布后字符显示正确。
在 Coldbox 中,表单和 url 值被传输到 RequestCollection (RC)。如果我在表单/url 发布后立即转储 RC,我会看到错误的字符。
因此,Coldbox 开始看起来像是将“好”字符从本机 url/form 范围中取出,并将“坏”字符放在 RC 中的位置。
谁能建议我接下来可以看哪里?是否有我应该寻找的 ColdBox 设置?可能完全是另外一回事吗?
更新
我使用 SES 风格的路由调用脚本,如下所示:
/index.cfm/Organisation/get/q/à á Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü ß
如果我以更传统的方式调用它,我会得到正确的字符来显示!
/index.cfm/Organisation/get?q=à á Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü ß
麻烦的是,整个应用程序都使用 SES,所以我无法开始重构它。所以我需要在 SES 配置中找到一些使它出错的东西。诡异的...
有人见过这个吗?