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

Flutter如何渲染含特殊字符(如')的文本?

在Flutter中渲染包含HTML实体(如')的文本

问题原因

'是HTML实体编码的单引号,Flutter的Text组件默认不会自动解析这类HTML实体,直接渲染只会显示原字符串而非对应的字符。你之前尝试的Runes和Utf8类针对的是Unicode码点或字节编码处理,和HTML实体解析不是一回事,所以没效果。

解决方案:使用HtmlUnescape解码

Dart的dart:convert库提供了HtmlUnescape类,可以直接解码常见的HTML实体,包括'、<、>等。

代码示例

import 'dart:convert';
import 'package:flutter/material.dart';

class MyTextWidget extends StatelessWidget {
  final String htmlEncodedText = "I'm a Flutter developer";

  @override
  Widget build(BuildContext context) {
    // 解码HTML实体
    String decodedText = HtmlUnescape().convert(htmlEncodedText);
    return Text(decodedText);
  }
}

批量处理或动态文本

如果是从接口或本地存储获取的动态文本,只需要在传入Text组件前调用HtmlUnescape().convert()即可,无需额外复杂操作。

内容的提问来源于stack exchange,提问作者Mohammed Yussif

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:25:28