You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter解码TikTok API返回数据时特殊字符乱码问题求助

解决Flutter调用TikTok API时特殊字符与非英文文本乱码问题

问题原因

你遇到的乱码是因为API返回的UTF-8编码内容未被正确解码。Flutter的http包处理响应时,若响应头未明确指定charset=utf-8,会使用默认编码解析,导致非英文和特殊字符(如𝒦ℋ𝒜ℒℰ𝒟这类Unicode字符)出现乱码。

解决方案

手动通过UTF-8解码响应体的字节数据,再进行JSON解析,替换原来直接使用response.body的方式:

修改后的代码:

import 'dart:convert';
import 'package:http/http.dart' as http;

// ... 其他代码保持不变
if (response.statusCode == 200) {
  // 手动用UTF-8解码响应字节
  String decodedBody = utf8.decode(response.bodyBytes);
  var data = jsonDecode(decodedBody);
  print(data['description'][0]);
}

补充说明

  • 该API在官网测试正常是因为测试工具会自动识别并使用UTF-8解码响应内容
  • 若后续API更新响应头,明确添加Content-Type: application/json; charset=utf-8,则可以恢复使用response.body,但手动解码的方式兼容性更强

内容的提问来源于stack exchange,提问作者Syed Irfan Hussaini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:14:59