使用ColdFusion将Twitter JSON API提供的Unicode字符转换

3

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

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

以下是来自JSON源的示例数据:

F\u00e0bregas

有没有一些正则表达式可以用来转换这个内容?

目前我正在将它从JSON源中写出原始数据。

#node.user.name#

这没问题,但其中包含了\u00e0,我需要将其转换为正确的重音符号'a',以便它显示为Fàbregas。

2个回答

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>

你可以在这里找到更多信息。希望能对你有所帮助!


0

一定有更好的方法,但在那之前,我认为这个方法可行。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接