电子邮件中的奇怪编码字符
weird encode character in email
我有一个通过 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 安全后仍然存在?我错过了什么吗?
Mustache 模板是常规 HTML 模板,其中包含要动态替换的 mustache 语法
这是 quoted-printable
风格,它类似于 URL 中的转义方式。您可能已经习惯了 %20
,但这里 =20
是一样的。
因为 =
是转义的一部分,就像 HTML &
变成 &
而 URL %
变成 %25
, =
必须编码为 =3D
.
HTML 恰好使用 lot 个 =
个字符,所以你会看到到处都是 =3D
印记。
我有一个通过 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 安全后仍然存在?我错过了什么吗? Mustache 模板是常规 HTML 模板,其中包含要动态替换的 mustache 语法
这是 quoted-printable
风格,它类似于 URL 中的转义方式。您可能已经习惯了 %20
,但这里 =20
是一样的。
因为 =
是转义的一部分,就像 HTML &
变成 &
而 URL %
变成 %25
, =
必须编码为 =3D
.
HTML 恰好使用 lot 个 =
个字符,所以你会看到到处都是 =3D
印记。