我有一个通过ruby解析的胡子模板,然后根据电子邮件体标记它为html_safe,但由此产生的HTML有一些奇怪的编码字符嵌入其中,例如
<body style=3D"min-width:640px;margin: 0 0 0 0;" bgcolor=3D"#f6f6f6" link==3D"#000000" vlink=3D"#000000" alink=3D"#000000" text=3D"#000000">
<br />
<table width=3D"100%" border=3D"0" align=3D"center"
cellpadding=3D"0" c=
ellspacing=3D"0" bgcolor=3D"#f6f6f6">
<tr>
<td bgcolor=3D"#f6f6f6" style=3D"border-bottom: 0;">
<table width=3D"640" style=3D"min-width:640px;"
cellspacing=3D"0"=
cellpadding=3D"0" border=3D"0" align=3D"center">
<tbody>
<tr>
<td bgcolor=3D"#000000">
<table width=3D"640" bgcolor=3D"#000000" cellspacing=3D"0=
" cellpadding=3D"0" border=3D"0" align=3D"center">
<tbody>
<tr>
<td width=3D"600" height=3D"10" bgcolor=3D"#000000"=
style=3D"line-height:0px;font-size:0px;">
<div width=3D"1" height=3D"10" alt=3D"" style=3D"=
display:block; border:0;"></div>为什么在将字符串标记为html安全之后,这些字符仍然保持不变?我是不是漏掉了什么。胡子模板是带有须语法的常规HTML模板,需要动态替换。
发布于 2017-10-03 20:33:15
这是quoted-printable风格,它类似于在URL中转义事物的方式。您可能已经习惯了%20,但在这里,=20也是一样的。
因为=是转义的一部分,比如在HTML中,&变成了&,而在URL中,%变成了%25,所以=必须被编码为=3D。
HTML恰好使用了大量的=字符,所以您将看到整个=3D信号。
https://stackoverflow.com/questions/46545869
复制相似问题