【问题标题】:Flutter Text Widget EmojisFlutter 文本小部件表情符号
【发布时间】:2019-12-08 05:02:16
【问题描述】:

我正在从我的服务器取回 JSON 数据,但表情符号被序列化为奇怪的字符。

msgcontent: â¤ï¸â¤ï¸â¤ï¸ð,

我正在使用 http 包。在邮递员上,它完美地显示了表情符号,因此它不是 db 或 json 错误。我错过了什么?

谢谢。

【问题讨论】:

标签: flutter dart


【解决方案1】:

以防万一有人正在寻找更简单方便的解决方案来解决这个非常问题

在看到 Leoog 的回答后,我建议不要使用单独的函数来执行 UTF 解码,而是可以简单地从类似的东西编辑网络请求代码

final response = await http.get(....);
final result = jsonDecode(response.body);

到

final response = await http.get(....);
final result = jsonDecode(utf8.decode(response.bodyBytes));

这样,UTF 解码将在数据层内进行,从而保持我们的表示层整洁,从而提升separation of concerns。

【讨论】:

    【解决方案2】:

    在做一些研究后回答我自己的问题,这是不使用 Future 的最好和最简单的方法。你可以把它放在任何地方。

    import 'dart:convert';
    
    String utf8convert(String text) {
        List<int> bytes = text.toString().codeUnits;
        return utf8.decode(bytes);
    }
    

    【讨论】:

      【解决方案3】:

      尝试使用 UTF8 字符编码对您的数据进行编码/解码,这可能只是解决问题的方法,之前已回答:

      Flutter UTF8 encoding/decoding answer

      【讨论】:

        猜你喜欢
        • 2020-03-23
        • 1970-01-01
        • 2020-12-11
        • 2017-12-09
        • 2023-03-07
        • 2020-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多