使用ColdFusion从Twitter JSON API提要转换Unicode字符

时间:2011-01-27 13:10:47

标签: regex json api twitter coldfusion

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

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

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

F\u00e0bregas

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

目前,我已将其写入JSON Feed中的原始数据

#node.user.name#

哪个好,但它包含我需要转换的\ u00e0,所以它显示为Fàbregas,正确的重音超过'a'。

2 个答案:

答案 0 :(得分: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。希望有所帮助!

答案 1 :(得分:0)

必须有一个更好的方法,但在那之前,我认为这是有效的

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