Lua解析JSON后,如何打印出(♡)字符代表长尾词?
- 内容介绍
- 相关推荐
本文共计269个文字,预计阅读时间需要2分钟。
这是我的功能,我使用lua-cjson库来支持UTF-8。函数getPersonaName(sid64)的代码如下:
lualocal cjson=require(cjson)local r=http.request(http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=)
这是我的功能,我使用 lua-cjson表示它完全支持UTF-8function getPersonaName(sid64) local cjson = require "cjson" local r = 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转换为它所期望的任何编码).
如果您无法控制显示器,那么除了通知您的用户他们需要正确配置他们的一面之外,您可以做的事情并不多.
本文共计269个文字,预计阅读时间需要2分钟。
这是我的功能,我使用lua-cjson库来支持UTF-8。函数getPersonaName(sid64)的代码如下:
lualocal cjson=require(cjson)local r=http.request(http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=)
这是我的功能,我使用 lua-cjson表示它完全支持UTF-8function getPersonaName(sid64) local cjson = require "cjson" local r = 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转换为它所期望的任何编码).
如果您无法控制显示器,那么除了通知您的用户他们需要正确配置他们的一面之外,您可以做的事情并不多.

