我想知道如何清理MS Word中的特殊字符,例如m和n-dashes以及引号?
我经常发现自己从Word复制客户端内容并粘贴到静态HTML页面,但内容最终会出现奇怪的字符,因为特殊字符没有转换为正确的ACSII代码,因此显示为乱码文本. (对于这些基本网站,我使用的是Dreamweaver.)
当客户端将Word中的内容复制到仅文本字段(主要是textareas)时,我看到了很多类似的问题.当我将它放入PDF(通过PHP)或它出现在页面上时,它也会出现乱码.
你怎么处理这个?您使用的是清洁服务或程序吗?
解决方法
关于客户在textareas中发布Word中的复制/粘贴文本:
确保客户端以任何特定编码发送文本的最可靠方法(因此希望从CP-1252 [或任何Word使用]进行任何转换)是添加accept-charset =“…”属性到你所有的< form>.例如.:
<form ... accept-charset="UTF-8"> ... </form>
大多数浏览器都会遵守这一规定,并确保在访问您的网站之前将任何“特定于字的”字符转换为适当的字符集.
一旦无效文本进入您的网站,您可以做的很少,可以做到可靠地修复它,因此最好只检查所有输入是否在您使用的任何字符集中有效,并丢弃任何具有无效文本的请求.即使使用accept-charset,这也是必要的,因为毫无疑问,有些客户会忽略它.