utf-8 - 文本中出现无效的阿拉伯语/波斯语单词

标签 utf-8 flutter

我正在尝试向我的 Text() 显示来自 api 的正确阿拉伯语/波斯语单词。就英语而言,一切正常,但随着语言的变化,它会返回类似 LATIN1 的内容。

Latin1 shows up for the arabic word

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

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

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

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

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

最佳答案

试试下面的方法,它适用于阿拉伯字符

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

关于utf-8 - 文本中出现无效的阿拉伯语/波斯语单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55645659/

相关文章:

java - 变音符号的解码问题

java - HTML 标题的 Unicode 问题,问号? 65533;

Flutter ListView 不会更新

api - Flutter Chopper 401 更新和重试拦截器

flutter - 基于像 Telegram 聊天信使中那样的换行文本的子小部件的复杂对齐

ios - FCM 在 iOS 上与 Flutter 协同工作有哪些要求?

utf-8 - 维基百科上汉字的编码是什么?

php - UTF-8 PHP 将不可打印字符 "space"替换为不可打印字符 "line break"

java - 以UTF-8文件形式打开SpringBoot资源

flutter - 如何转换List <Object> flutter