首页
/ Mermaid-js中ER图中文标注的正确使用方式

Mermaid-js中ER图中文标注的正确使用方式

2025-04-29 16:20:24作者:董斯意

Mermaid-js是一个流行的图表生成工具,它支持通过简单的文本语法生成各种图表,包括ER图(实体关系图)。在使用ER图功能时,开发者可能会遇到中文标注显示异常的问题。

中文标注的常见问题

在Mermaid的ER图语法中,当我们需要为实体关系添加中文描述时,直接使用中文可能会导致图表渲染失败。例如以下代码:

Performance_Goal ||--o{ Performance_Task : 测试

这种写法在某些环境下可能无法正确显示中文标注。

正确的解决方案

Mermaid官方推荐的做法是为所有非ASCII字符(包括中文)添加双引号。修正后的写法应该是:

Performance_Goal ||--o{ Performance_Task : "测试"

完整示例

以下是一个包含中文标注的正确ER图示例:

erDiagram
    Performance_Goal {
       goalId int PK "目标ID"
       goalName varchar255  "目标名称"
       description text  "描述"
       deadline date  "截止日期"
       periodLength int  "周期长度"
    }
    Performance_Goal ||--o{ Performance_Task : "测试"
    Performance_Goal ||--o{ Performance_Feedback : "用途"

对应的代码为:

erDiagram
    Performance_Goal {
       goalId int PK "目标ID"
       goalName varchar255  "目标名称"
       description text  "描述"
       deadline date  "截止日期"
       periodLength int  "周期长度"
    }
    Performance_Goal ||--o{ Performance_Task : "测试"
    Performance_Goal ||--o{ Performance_Feedback : "用途"

技术原理

Mermaid的解析器在处理文本时,对于非ASCII字符(如中文)需要明确的界定范围。添加双引号可以帮助解析器准确识别标注文本的边界,避免将特殊字符误认为语法标记。

最佳实践建议

  1. 为所有非英文标注添加双引号
  2. 保持标注文本简洁
  3. 避免在标注中使用特殊符号
  4. 测试时先使用简单示例验证中文显示是否正常

通过遵循这些简单的规则,开发者可以轻松地在Mermaid ER图中使用中文标注,使图表更加清晰易懂。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
165
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
954
563
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
16
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
17
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
408
387
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Python
77
71
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
14
1