MJML中版权符号显示异常(出现©)如何正确渲染?
解决MJML中版权符号显示为©的问题
这个问题本质是字符编码不匹配导致的——MJML渲染时如果没正确识别UTF-8编码,就会把版权符号的字节解析错误,多出个Â字符。下面给你几个靠谱的解决办法:
直接用UTF-8编码的版权符号(优先推荐)
先确保你的MJML文件保存为UTF-8编码(大部分编辑器默认就是这个,不用额外设置),然后直接在<mj-text>里写©就行:<mj-text align="center">© 2018</mj-text>这种方式兼容性最好,几乎所有主流邮件客户端都能正确识别。
带编码声明的HTML实体写法
如果你习惯用实体编码,记得在MJML文件最顶部加上UTF-8的编码声明注释,再用©:<!--?xml version="1.0" encoding="UTF-8"?--> <mjml> <mj-body> <mj-text align="center">© 2018</mj-text> </mj-body> </mjml>这个声明能帮MJML渲染器明确字符编码规则,避免解析出错。
通过MJML头部样式强制指定编码
要是遇到个别邮件客户端识别编码有问题,可以在<mj-head>里加一段样式来强制字符集:<mjml> <mj-head> <mj-style> * { charset: utf-8; } </mj-style> </mj-head> <mj-body> <mj-text align="center">© 2018</mj-text> </mj-body> </mjml>
内容的提问来源于stack exchange,提问作者Neeraj Amoli
相关产品推荐
相关产品推荐

