首页 > 解决方案 > 无效的阿拉伯语/波斯语单词出现在颤动的文本中

问题描述

我正在尝试将来自 api 的正确阿拉伯语/波斯语单词显示到我的Text(). 就英语而言,它会很好,但随着语言的变化,它会返回类似 LATIN1 的东西。

Latin1 出现在阿拉伯语单词中

我已经按照这个问题来纠正我的问题:Invalid Arabic characters With Utf-8 charset Retrived with http.get Flutter

我有一个name来自 API 的字符串。它的酒吧名称为 : Bar Beirut - بار بيروت。但在回复中,我得到了上面的截图。

我尝试先对字符串进行编码然后对其进行解码,但它没有成功。

var encoded = utf8.encode(data['name']);
this.name = utf8.decode(encoded);

所以我在我的 中使用this.nameText()但它显示的是英文字符,而对于阿拉伯语,它显示的是 LATIN1。任何帮助,将不胜感激。谢谢

标签: utf-8flutter

解决方案


尝试以下操作,它适用于阿拉伯字符

return http.get(Uri.encodeFull(baseUrl), headers: {
      "Content-Type": "application/json",
    }).then((response) {
      return json.decode(utf8.decode(response.bodyBytes));
    });

推荐阅读