【问题标题】:ColdFusion character encoding issueColdFusion 字符编码问题
【发布时间】:2014-03-18 16:23:37
【问题描述】:

首先让我说出我的最终目标(以防我的任何假设或对字符编码的理解不正确):我希望我的网页字符能够正确显示,即使我粘贴了来自Word 或其他程序。

希望这可以在大多数情况下工作,而无需通过服务器端的某些编码功能。我一直在使用美国英语并从 Word 中粘贴,所以看起来应该没那么难。

在我看来,ColdFusion 弄乱了我的字符编码并将撇号(可能从 Word 粘贴)显示为“”。我的页面作为 .htm 文件工作,但一旦我将扩展名重命名为 .cfm,它就不会了。见这里:

以下是我所看到的,以防您有任何不同: http://i.imgur.com/tA4p1yc.png (看起来有效的是 Content-Type 是 text/html,而没有 Content-Type 的是:text/html; charset-UTF-8)

建议? (我是否正确认为 UTF-8 应该是正确的编码?)

编辑:为方便起见,我的两个文件的来源:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>utf-8</title>
</head>
<body>
<p>Make sure you don’t pack your toiletries or clothes for your travel day.</p>
</body>
</html>

【问题讨论】:

  • 你能显示cfm代码吗?
  • CFM 代码与上面示例中的 HTML 源代码完全相同相同,即使呈现的输出不同。 (创建 HTM 文件后,我只是做了另存为,然后替换了扩展名。)

标签: coldfusion character-encoding


【解决方案1】:

你用的是什么编辑器?如果您使用 CFBuilder2+,BOM mark 应该默认将所有内容设为 UTF-8。但是,如果您不是,并且您的编辑器没有设置 BOM 标记,那么您需要将其用作 cfm 的第一行。

<cfprocessingdirective pageEncoding="utf-8">

【讨论】:

  • 我正在使用 Sublime Text 2,并且我已经完成了 File->Save With Encoding->UTF-8,但没有运气。编辑:我应该澄清 .cfm 文件本身确实似乎是 UTF-8 编码的,但这对输出没有影响。
  • 我刚刚添加了处理指令,并且有效。谢谢你。你知道是否有一个全局设置来设置整个应用程序? (我不想在我的服务器上的每个页面上都包含该行。)
  • UTF-8 with BOM 在 Sublime Text 2 中? blog.toshredsyousay.com/post/27543408832/…
  • 有趣。我删除了处理指令,用 BOM 保存为 UTF-8,它可以工作。看来我也可以更改 sublime-settings 中的默认值。 BOM 对我来说是新的 - 将所有 Web 开发文件保存为带有 BOM 的 UTF-8 的任何潜在缺陷? (它适用于所有 Web 开发文件类型吗?)
  • @DanBracuk 你确定这行得通吗?我在几年前尝试过,但没有,因为 cfprossingdirective 不会继承所包含的任何文件。
猜你喜欢
  • 1970-01-01
  • 2011-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 2013-04-21
  • 2011-01-30
相关资源
最近更新 更多