当前位置:  开发笔记 > 编程语言 > 正文

如何在字符串中转换Word智能引号和em破折号?

如何解决《如何在字符串中转换Word智能引号和em破折号?》经验,为你挑选了2个好方法。

我有一张带有textarea的表格.用户输入存储在数据库中的文本块.

有时用户会粘贴包含智能引号或emdashes的Word中的文本.这些字符在数据库中显示为:",",","

我应该在输入字符串上调用什么函数将智能引号转换为常规引号,将emdashes转换为常规短划线

我在PHP工作.

更新:感谢迄今为止所有出色的回复.Joel网站上关于编码的页面非常有用:http://www.joelonsoftware.com/articles/Unicode.html

关于我的环境的一些注释:

MySQL数据库使用UTF-8编码.同样,显示内容的HTML页面通过显式设置元内容类型使用UTF-8(Update :).

在这些页面上,智能引号和emdashes显示为带问号的钻石.

解:

再次感谢您的回复.解决方案有两个方面:

    确保将数据库和HTML文件显式设置为使用UTF-8编码.

    htmlspecialchars()而不是 htmlentities().

theraccoonbe.. 15

这听起来像是一个Unicode问题.Joel Spolsky在这个话题上有一个很好的起点:http://www.joelonsoftware.com/articles/Unicode.html



1> theraccoonbe..:

这听起来像是一个Unicode问题.Joel Spolsky在这个话题上有一个很好的起点:http://www.joelonsoftware.com/articles/Unicode.html



2> Ates Goral..:

mysql数据库使用UTF-8编码.同样,显示内容的html页面使用UTF-8.

HTML的内容可以是UTF-8,是的,但你是否明确地将HTML页面的内容类型(编码)(通过PHP生成?)设置为UTF-8?尝试返回HTML Content-Type标题"text/html;charset=utf-8"或向HTML 添加标记:


这样,提交给PHP的数据的内容类型也将是相同的.

我有一个类似的问题,并添加标签为我工作.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有