Lua - 解析JSON后打印(♡)字符

时间:2013-08-16 15:33:15

标签: json utf-8 lua

这是我的功能,我使用lua-cjson表示它完全支持UTF-8

function getPersonaName(sid64)
local cjson = require "cjson"
local r = http.request("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=###&steamids=" .. sid64)
results = cjson.decode(r)
personaname = results.response.players[1].personaname
return personaname

当用户有一些像♡这样的特殊字符时,我的Lua代码将personaname作为

返回
tam ♡

而不是

tam ♡

如何正确返回确切结果?

1 个答案:

答案 0 :(得分:6)

这是一个编码问题。无论您输出的结果是什么,都不会期望您发送的UTF-8编码字符,因此它会尽可能地显示它。

如果您控制显示器的一面,那么您需要考虑更改它所期望的编码(或者研究如何将UTF-8转换为它所期望的任何编码)。

如果您无法控制显示屏,那么除了告知您的用户他们需要正确配置他们的一面之外,您无法做到这一点。