™ 和 ® 是 html5 唯一明确认可的商标实体,直接使用 unicode 字符 ™/® 存在编码兼容性、解析错误及语义缺失风险,法律文本中应优先使用 ™ 和 ®。

直接说结论:™ 和 ® 是 HTML 中唯一被 HTML 标准(HTML5)明确认可的商标类实体,™ 和 ® 这种“直接贴 Unicode 字符”的写法虽能显示,但存在兼容性与语义风险,不建议在关键法律文本中使用。
为什么不能直接写 ™ 或 ®?
表面上看,现代浏览器都能渲染 ™ 和 ® 这两个 Unicode 字符,但问题出在解析层和语义层:
- 如果文档声明的编码不是 UTF-8(比如误设为 ISO-8859-1),
™会变成乱码甚至截断后续 HTML -
&后面紧接非标准字符(如&™)会被解析器当作未闭合实体处理,可能吞掉后面内容 - 某些老旧邮件客户端、RSS 阅读器或爬虫不支持高码点 Unicode,
™显示为空格或方框 - 从语义角度,
™明确告诉解析器“这是一个商标符号”,而裸字符只是“一个看起来像™的字形”
™ 和 ® 的参数差异与使用边界
这两个实体名称固定,无参数,但含义和法律效力完全不同:
-
™表示“普通商标(unregistered trademark)”,适用于尚未完成注册流程的品牌标识,任何企业都可使用 -
®表示“已注册商标(registered trademark)”,仅限国家知识产权局正式核准注册的商标,擅自使用可能构成违法 - 二者都不带空格——
®后面若跟空格,会多出一个不可见空格;正确写法是MyBrand®,不是MyBrand ® - 它们不支持大小写变体,
&Reg;或™均无效,必须全小写
常见错误现象:™ 显示成文字或乱码
这不是实体本身的问题,而是上下文配置导致的:
- 页面缺少
<meta charset="UTF-8">,且服务器未发送正确的Content-Type头 - 编辑器保存文件时用了 ANSI 编码,导致
™被错误转义成™(即显示为文字 “™”) - 在 JavaScript 字符串中拼接 HTML 时未做转义,例如:
el.innerHTML = "Logo™";→ 正确应为el.innerHTML = "Logo™"; - CMS 或模板引擎自动二次转义,把
™又转成™,需查其 escape 配置项(如 Jekyll 的{{ content | raw }})
真正容易被忽略的是:法律文本中用错符号不会被浏览器报错,但可能影响主张权利时的证据效力。实体名不是装饰,是语义锚点——® 不只是“画个圈”,它是在 HTML 层面声明“此标识已获行政确权”。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











