【问题标题】:Converting Unicode Characters from Twitter JSON API feed using ColdFusion使用 ColdFusion 从 Twitter JSON API 提要转换 Unicode 字符
【发布时间】:2011-01-27 13:10:46
【问题描述】:

我正在尝试使用 Twitter API 通过 ColdFusion 从 Lists API 中提取状态,并使用 JSON 格式和 JSON 组件解析我需要的所有内容。

我遇到的问题是尝试转换 Unicode 字符,以便它们在屏幕上正确显示。

这是来自 JSON 提要的示例数据

F\u00e0bregas

我可以使用一些正则表达式来转换它吗?

目前我让它从 JSON 提要中写出原始数据

#node.user.name#

这很好,但它包含我需要转换的 \u00e0,因此它显示为 Fàbregas,并在 'a' 上带有正确的重音。

【问题讨论】:

    标签: regex json api twitter coldfusion


    【解决方案1】:

    首先,我认为这更多是字符编码问题而不是正则表达式问题。

    您如何获取 Twitter 数据?如果它使用<cfhttp>,您可以尝试将charset 属性设置为UTF-8。这将确保来自 Twitter 的数据以 UTF-8 格式到达。

    然后您应该在您尝试输出数据的页面上显式设置字符编码(您在该页面时的 FORM 和 URL 编码)。例如:

    <!--- URL and FORM encoding to UTF-8 --->
    <cfset setEncoding("URL", "UTF-8") />
    <cfset setEncoding("FORM", "UTF-8") />
    
    <cfcontent type="text/html; charset=UTF-8" />
    
    <cfoutput>#node.user.name#</cfoutput>
    

    您会发现更多信息here。希望对您有所帮助!

    【讨论】:

      【解决方案2】:

      必须有更好的方法,但在那之前我认为这是可行的

      <cfset y = 'F\u00e0bregas'/>
      <cfset x = evaluate(de(rereplace(y,'\\u([a-fA-f0-9]{4})','##chr(inputbasen(''\1'',16))##','all')))/>
      

      【讨论】:

        猜你喜欢
        • 2013-01-09
        • 2020-05-03
        • 2015-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多