Paulo Alexandre - 2014-09-26

in line 1535 alter this

if obj is TlkJSONstring then
begin
// ws := UTF8Encode(TlkJSONstring(obj).FValue);
ws := TlkJSONstring(obj).FValue;
i := 1;
mem_ch('"');
while i <= length(ws) do
begin
case ws[i] of
'/', '\', '"':
begin
mem_ch('\');
mem_ch(ws[i]);
end;
#8: mem_write('\b');
#9: mem_write('\t');
#10: mem_write('\n');
#13: mem_write('\r');
#12: mem_write('\f');
else
// if (ord(ws[i]) < 32) then
if (ord(ws[i]) < 32) or (ord(ws[i]) > 122) then
mem_write('\u' + inttohex(ord(ws[i]), 4))
else
mem_ch(ws[i]);
end;
inc(i);
end;
mem_ch('"');
end

works for me