如何处理Microsoft Word字符编码

时间:2014-10-02 22:04:31

标签: javascript jquery ms-word

我在页面上有一个简单的文本区域。单击“提交”时,它会获取文本区域的值并将其存储到数据库中。

<input type="text" class="form-control" id="theField" placeholder="Enter Data">

当用户在字段中输入以下内容时,它可以很好地存储:"this is a test" item's

但是,如果他们将其输入到Microsoft Word中,然后将其粘贴到字段中,则结果为:“This is a test†for item’s

我所做的就是获得如下价值:var nominee = $('#theField').val()

处理这种情况的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我不是百分百肯定这会起作用,但类似的事情可能就是你所能做的:

var ldquo = new RegExp(String.fromCharCode(226, 8364, 339), "g"),
    rsquo = new RegExp(String.fromCharCode(226, 8364, 8482), "g"),
    rdquo = new RegExp(String.fromCharCode(226, 8364), "g");

var clean = $("#theField").val()
    .replace(ldquo, '"')
    .replace(rsquo, "'")
    .replace(rdquo, '"');

您需要另外弄清楚左侧单个“智能”报价的样子。当然上面的模式可能不正确;整个事情是两个字符编码之间发生碰撞的结果。