这是我的功能,我使用 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)
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 ♡
如何正确返回确切结果?
这是一个编码问题.无论您输出的结果是什么,都不会期望您发送的UTF-8编码字符,因此它会尽可能地显示它.如果您控制显示器的一面,那么您需要考虑更改它所期望的编码(或者研究如何将UTF-8转换为它所期望的任何编码).
如果您无法控制显示器,那么除了通知您的用户他们需要正确配置他们的一面之外,您可以做的事情并不多.