redash 表格默认不渲染html,需改用markdown可视化类型并确保sql返回未转义的合法html或markdown;字段值必须为test而非<b>test</b>,且仅支持等白名单标签及color/background-color样式。

Redash 查询结果里直接写 <strong></strong> 标签为什么没生效
Redash 默认对查询返回的字符串做 HTML 转义(即把 变成 <code><),所以即使你在 SQL 里拼出 <b>高亮</b>,页面上也只会显示字面量,不会渲染成加粗文本。这不是 bug,是安全默认行为。
常见错误现象:
– 查询返回字段值为 <span style="color:red">失败</span>,但 Redash 表格里原样显示这段文字
– 用 CONCAT('<i>', status, '</i>') 拼接,结果仍是纯文本
- Redash 不解析查询结果中的 HTML,除非显式启用渲染
- 仅对「文本」可视化类型(Text、Big Number、Markdown)支持有限 HTML;表格(Table)可视化默认禁用所有 HTML 渲染
- 即使切换到 Markdown 类型,
<div>、<code><script></script>、onerror等标签和属性仍会被过滤,只保留基础格式标签(<b></b>、<i></i>、<u></u>、<span></span>且仅限style中的color和background-color)怎么让 Redash 表格单元格渲染 HTML(比如带颜色的状态)
必须绕过默认表格渲染,改用「Markdown」可视化类型,并在 SQL 中返回合法 Markdown 或受支持的内联 HTML。
anything-to-html下载将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- SQL 示例(PostgreSQL):
SELECT id, CASE status WHEN 'success' THEN '**✅ 成功**' WHEN 'failed' THEN '<span style="color:red">❌ 失败</span>' ELSE status END AS status_display FROM events; - 创建查询后,点击右上角「Visualization」→ 「+ New Visualization」→ 选择「Markdown」类型
- 在 Markdown 可视化编辑器中,绑定字段:把
status_display字段拖进「Content」框(不是「Value」) - 注意:
<span></span>必须写在单行内,不能换行;style中只认color和background-color,写font-weight无效
为什么用了 Markdown 可视化还是显示源码
最常见原因是字段内容被自动转义了——Redash 的 Markdown 渲染器会二次处理,如果字段本身已含转义字符(如
<b>),就无法还原。- 检查原始查询结果:在 Redash 查询页面点「JSON」标签,看
status_display字段值是否为"<b>test</b>"(含<)而不是"<b>test</b>" - PostgreSQL 中避免转义:不要用
to_json()或row_to_json()包裹该字段;MySQL 用CAST(... AS CHAR)替代JSON_OBJECT() - 如果数据来自 JSON 列,用
->>'field'(返回 text)而非->'field'(返回 json,会触发额外转义)
想在 Big Number 里加 HTML 图标或颜色怎么办
Big Number 可视化支持极简 HTML,但只作用于「Value」字段,且不支持
<span></span>style,只能靠 Unicode 符号 + 内置颜色配置。- SQL 返回纯文本值,例如:
'⚠️ 降级中'或'? 在线' - 创建 Big Number 可视化后,在设置里找到「Value Color」→ 选「Based on value」→ 添加规则,如
value contains "?"→ 设为绿色 - 如果硬要内联样式,唯一可行路径是:用 Markdown 可视化模拟 Big Number 布局(居中、大字号),通过
<div style="font-size:48px"> <span style="color:green">?</span> 在线</div>实现,但需手动调字体大小和对齐
<span></span>都能活下来,也不是换个可视化类型就自动解禁。真正起作用的是「字段原始字符串未被转义」+「可视化类型明确支持」+「HTML 片段在白名单内」三者同时满足。漏掉任一环,看到的都是源码。 - SQL 示例(PostgreSQL):










