DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jsuguo
今日帖子: 31
在线用户: 16
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 riverbo (riverbo) ★☆☆☆☆ -
普通会员
2018/12/12 16:15:48
标题:
TJsonObject.ToJSON; 请问 中文乱码,如何解决? 浏览:827
加入我的收藏
楼主: 如题,代码如下:

uses System.JSON.Serializers, System.Json, REST.JSON;

procedure TForm1.Button1Click(Sender: TObject);
  function toJson(): string;
  var jsobject: TJsonObject;
  begin
    jsobject := TJsonObject.Create;
    try
      jsobject.AddPair('cmd', 'cmd');
      jsobject.AddPair('uri', '快玩完了');
      Result := jsobject.ToJSON;
    finally
      jsobject.Free;
    end;
  end;
var S: string;
begin
  S := toJson();
  // {"cmd":"cmd","uri":"\u5FEB\u73A9\u5B8C\u4E86"}, 中文乱码 unicode
  // 如何正确显示中文?
  AddLog(S);
end;
----------------------------------------------
riverbo
作者:
男 riverbo (riverbo) ★☆☆☆☆ -
普通会员
2018/12/12 16:24:38
1楼: 找到如下方法:似乎可以用。
  function UnicodeToChinese(inputstr: string): string;
  var
    i: Integer;
    index: Integer;
    temp, top, last: string;
  begin
    index := 1;
    while index >= 0 do begin
      index := Pos('\u', inputstr) - 1;
      if index < 0 then begin
        last := inputstr;
        Result := Result + last;
        Exit;
      end;
      top := Copy(inputstr, 1, index); // 取出 编码字符前的 非 unic 编码的字符,如数字
      temp := Copy(inputstr, index + 1, 6); // 取出编码,包括 \u,如\u4e3f
      Delete(temp, 1, 2);
      Delete(inputstr, 1, index + 6);
      Result := Result + top + WideChar(StrToInt('$' + temp));
    end;

  end;

不知道,各位大侠有无其它更好方法?
----------------------------------------------
riverbo
作者:
男 helyna (Person) ★☆☆☆☆ -
普通会员
2018/12/12 19:22:16
2楼: Result := jsobject.ToString;
----------------------------------------------
-
作者:
男 riverbo (riverbo) ★☆☆☆☆ -
普通会员
2018/12/13 9:04:13
3楼: 谢谢 @helyna,方法可行。
----------------------------------------------
riverbo
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS