为了账号安全,请及时绑定邮箱和手机立即绑定

如何在golang模板中转义特殊字符(<>&'"除外)?

如何在golang模板中转义特殊字符(<>&'"除外)?

Go
扬帆大鱼 2022-01-17 18:14:04
Go 模板自动转义,但只有五个字符 <>&' 和 "(参见html.EscapeString)所以这段代码就像check := func(err error) {    if err != nil {        log.Fatal(err)    }}t, err := template.New("foo").Parse(`{{define "T"}}special chars: {{.}}{{end}}`)check(err)err = t.ExecuteTemplate(os.Stdout, "T", "<>&' äåüöß")check(err)返回(您可以在此处查看:Go Playground)special chars: &lt;&gt;&amp;&#39; äåüöß那么如何使用 golang 模板来呈现可能包含 äåüöß 等字符的文本?这不像我自己可以逃脱这些,因为例如“ä”会转义为“ä” 这意味着在我手动转义之后,golang 只是第二次转义了其中的“&”字符部分,我得到了“&auml;” (但 html 文件应该包含一个转义的“ä”,以便浏览器显示一个“ä”)。
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

这些字符在现代浏览器中可以正常使用,但您需要在网页中指定字符编码。

添加行

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

在您的文档的头部。

有关 HTML 中字符编码的更多信息,请参阅W3C 文档


查看完整回答
反对 回复 2022-01-17
  • 1 回答
  • 0 关注
  • 832 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号