2013-08-16 14 views
5

Oto moja funkcja używam lua-cjson który mówi, że w pełni wspiera UTF-8Lua - Drukowanie (♡) znak po parsowania 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 

Gdy użytkownik ma jakiś szczególny charakter jak ♡ mojego kodu Lua zwraca personaname jako

tam ♡ 

zamiast

tam ♡ 

Jak mogę poprawnie Retu Dokładny wynik?

+0

Co dokładnie masz na myśli przez zwrot? – akluth

+0

Powracam tam ♡ zamiast tam ™ –

Odpowiedz

6

To jest problem z kodowaniem. Cokolwiek wypiszesz, nie spodziewasz się, że znak zakodowany w UTF-8 przesyłasz go, a więc wyświetla się najlepiej, jak potrafi.

Jeśli kontrolujesz stronę wyświetlaną, musisz sprawdzić kodowanie, którego się spodziewa (lub zastanowić się, jak przekonwertować kodowanie UTF-8 na kodowanie, jakiego oczekuje).

Jeśli nie masz kontroli nad wyświetlaczem, niewiele możesz z tym zrobić, niż poinformować użytkowników, że muszą poprawnie skonfigurować swoją stronę.

+0

Dziękuję, uświadomiłam sobie, że powinienem dodać nagłówek w postaci treści charset = utf-8. –

Powiązane problemy