【问题标题】:Encoding issue with Japanese characters from ColdFusion's SerializeJSONColdFusion 的 SerializeJSON 中的日文字符编码问题
【发布时间】:2014-07-29 15:52:21
【问题描述】:

我正在开发一个 1 页的迷你应用程序,它可以通过 2 行代码部署在客户的网站上。这将是theirpage.html

<div id="builder_wrapper"></div>
<script src="http://example.com/js/loader.cfm?id=14"></script>

然后,在loader.cfm页面,调用服务器上的一个全HTML文件,放入“builder_wrapper”页面:

<cffile action="read" file="c:\websites\example.com\wb-themes\#GetWBSettings.intThemeID#\builder.cfm" variable="html">
document.getElementById("builder_wrapper").innerHTML = <cfoutput>#SerializeJSON(html)#</cfoutput>;

所以,我收到了一个用日语构建一个特殊主题的请求。我用日文代码替换了英文文本。但它是作为一堆随机字符出现的:ã¹ãã¼ã¯ ãã§ã¤ã¹

我在测试theirpage.html 中添加了 utf-8 元标记,但这并没有解决问题。我查看了loader.cfm的服务器响应,字符都是ã¹ãã¼ã¯ãã§ã¤ã¹。我在记事本上检查了代码,日文字符都在那里。所以,我认为serializeJSON() 正在这样做。

我有点卡住了。

【问题讨论】:

  • 查看this answer 类似的问题。
  • @Miguel-F,我尝试将 放在 loader.cfm 文件的开头和构建器的开头。 cfm 文件。它没有工作
  • 我对您的描述感到困惑 - “我在记事本上检查了代码,日文字符都在那里”。你在哪里检查记事本中的代码?你知道角色在这个过程中的哪个阶段发生了变化吗?
  • 我找到了解决方案:问题出在读取的 CFFILE 上。它必须有一个 charset="UTF-8" 属性
  • @JackPilowsky 请提供您的解决方案作为答案,以帮助遇到相同问题的下一个人(因此我们知道您不需要进一步的帮助!)。干杯,伙计。

标签: javascript json coldfusion


【解决方案1】:

问题不在于我最初想到的 serializeJSON 函数。问题是 CFFile 读取。

<cffile action="read" file="c:\websites\example.com\wb-themes\#GetWBSettings.intThemeID#\builder.cfm" variable="html" charset="utf-8">
document.getElementById("builder_wrapper").innerHTML = <cfoutput>#SerializeJSON(html)#</cfoutput>;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 2013-11-18
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多