utf-8 - 无效的阿拉伯语/波斯语单词出现在颤动的文本中
问题描述
我正在尝试将来自 api 的正确阿拉伯语/波斯语单词显示到我的Text()
. 就英语而言,它会很好,但随着语言的变化,它会返回类似 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.name
,Text()
但它显示的是英文字符,而对于阿拉伯语,它显示的是 LATIN1。任何帮助,将不胜感激。谢谢
解决方案
尝试以下操作,它适用于阿拉伯字符
return http.get(Uri.encodeFull(baseUrl), headers: {
"Content-Type": "application/json",
}).then((response) {
return json.decode(utf8.decode(response.bodyBytes));
});
推荐阅读
- firefox - 重命名 Firefox 扩展标题
- jquery - ReCaptcha 溢出/走出屏幕
- c++ - 我想重载运算符'='但重载后运算符不会将正确的信息传递给对象
- c++ - 使用 boost 将几何体切割成碎片
- google-maps - 谷歌地图可以在不安装应用程序的情况下向用户发送推送通知吗?
- python - 将 Sqlite 查询结果设置为变量
- java - 无法从结果集中检索所有行
- powerbi - 滚动 3 个月的 DAX
- c# - UWP Webview 中的 Microsoft 广告
- azure-files - twilio + Azure File Stogare = 资源不支持指定的 Http 动词