从word文档粘贴时输入字段单引号变成正方形
Posted
技术标签:
【中文标题】从word文档粘贴时输入字段单引号变成正方形【英文标题】:Input fields single Quote turns to square when paste from word document 【发布时间】:2020-12-17 19:36:18 【问题描述】:当我从 word 文档复制粘贴时,我遇到了一个问题,单引号在存储在数据库中时变成了正方形。当我手动输入时,它会保存单引号。该问题仅发生从单词复制粘贴。我正在使用正则表达式 String.fromCharCode(event.charCode).match(/[a-zA-Z ]/g)。我需要在这里修改什么吗?
<input ng-disabled="type == 'cancel'" ng-focus="focused9 = true" ng-blur="focused9 = false" ng-hide="nextButtonClicked" onkeypress="return String.fromCharCode(event.charCode).match(/[a-zA-Z ]/g) != null" ng-model="Name" id="insName" ng-model="direct.insName" isalphabetic="true" isnumeric="false" isCharc ="false" class="inputFields" type="text" placeholder=""/>
谢谢
【问题讨论】:
【参考方案1】:Microsoft Word 使用“智能引号”而不是“直引号”。您的代码不知道如何解码该字符,因此您得到了一个正方形。查看article 了解如何禁用“智能引号”。
【讨论】:
【参考方案2】:如前所述,Microsoft Word 使用智能引号(如果启用)。看起来您的数据库未配置为以适当的编码存储这些字符。
您可能希望将粘贴的智能引号替换为 javascript 中的直引号:
const str = `“Those quotes are not so smart”`;
console.log(str.replace(/[\u2018\u2019]/g, "'")
.replace(/[\u201C\u201D]/g, "\""));
【讨论】:
以上是关于从word文档粘贴时输入字段单引号变成正方形的主要内容,如果未能解决你的问题,请参考以下文章