2013-08-16 13 views
5

Hier ist meine Funktion, ich lua-cjson bin mit dem es heißt es UTF-8 voll unterstütztLua - Printing (♡) Zeichen nach Parsen von JSON

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 

Wenn der Benutzer wie ♡ mein Lua Code einige Sonderzeichen hat gibt die personaname als

tam ♡ 

statt

tam ♡ 

wie kann ich richtig RETU rn das genaue Ergebnis?

+0

Was genau meinen Sie mit Rückkehr? – akluth

+0

Returning tam ♡ statt tamâ ™ ¡ –

Antwort

6

Das ist ein Codierungsproblem. Was auch immer Sie die Ergebnisse ausgeben, erwartet nicht das UTF-8 codierte Zeichen, das Sie senden, und so wird es angezeigt, so gut es geht.

Wenn Sie die Kontrolle über die Display-Seite der Dinge haben, dann müssen Sie in die Änderung der Codierung suchen, die erwartet wird (oder untersuchen, wie Sie das UTF-8 in jede Codierung konvertieren können, die es erwartet).

Wenn Sie nicht in der Steuerung der Anzeige sind dann gibt es nicht viel können Sie über diese andere zu tun, als Ihre Benutzer zu informieren, dass sie ihre Seite der Dinge richtig konfiguriert haben müssen.

+0

Danke, dass du mir klar gemacht hast, dass ich den Inhaltstyp charset = utf-8 in der Kopfzeile hinzugefügt haben soll. –