【问题标题】:Funky Character getting generated with Javascript?用 Javascript 生成时髦的字符?
【发布时间】:2013-11-25 14:56:01
【问题描述】:

由于某种原因,在我的 HTML 电子邮件发送时会生成此字符:–。我尝试使用 preg_replace('/–/', '', $var) 在我的 PHP 中用任何内容替换它,但这不起作用。出于某种原因,当我收到一封包含 HTML 的电子邮件时,这个字符就会出现。我猜它是从我的代码中的这个 JavaScript 生成的:

$('.comments0').click(function(){
    $('.comments').val($('.comments').val() + 'Our warranties are:\nNew – 1 year\nRemanufactured - 6 months\nRepair - 6 months');
});

如果不是用 JavaScript 生成的,我不确定这个字符是如何在我的 HTML 中间不断创建的。它会在 New 之后立即生成,就像这样:New - 1 年。我不知道为什么这个角色会像这样随机出现。

顺便说一下,这里是与那个 JavaScript 直接相关的 HTML:

<form action="?AddToQuote" method="POST" id="myForm" name="myForm">
<input type="checkbox" name="comments[0]" class="comments0" id="comments0" /><label>6 Months Warranty</label>
<textarea cols="75" rows="6" name="comments" class="comments" id="comments"><?php if(isset($_SESSION['comments'])) { echo $_SESSION['comments']; } ?></textarea>
</form>

【问题讨论】:

  • 您能否验证 New 之后的字符是空格和破折号,而不是某些 unicode 对应字符?
  • “unicode 对应物”是什么意思?
  • 能否删除字符 New - 1 并再次手动重新键入它们,看看问题是否仍然存在?
  • 好主意。我会试试的。
  • 效果很好,感谢您的帮助! :D 太糟糕了,您没有将此作为答案,否则我会 +1 您的回复并将其选为正确答案。

标签: javascript html character


【解决方案1】:

显然,您消息中的字符是从其他地方复制/粘贴的。如果您删除它们并直接在 JS 源代码中手动重新键入应该可以解决问题。

【讨论】:

  • 再次感谢,效果很好!我想我没有意识到我复制并粘贴了文本。
【解决方案2】:
【解决方案3】:

确保您的文本编辑器/IDE 已设置为将文件保存为 UTF-8 且没有 BOM。

另外,请确保您在页面 &lt;head&gt; 中使用 &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt; 并将您的电子邮件设置为 UTF-8。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2010-11-23
    • 2017-04-11
    • 1970-01-01
    相关资源
    最近更新 更多