5

这是我的功能,我使用的是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 代码将用户名返回为

tam ♡

代替

tam ♡

我怎样才能正确返回确切的结果?

4

1 回答 1

6

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

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

如果您无法控制显示,那么除了通知您的用户他们需要正确配置他们的事情之外,您无能为力。

于 2013-08-16T16:17:13.067 回答