2011-05-25 44 views
1

我的网站有一个wysiwyg编辑器 - 记录用户将文本保存到SQL数据库。数据库中的HTML

当我稍后检索此文本时,偶尔会出现格式错误的字符。 例如一个HTML项目符号点(我怀疑它是一个<ul><li>标记) - 作为黑色钻石中的问号出现。

wysiwyg编辑器是否吐出了错误的代码?我确实使用nicEdit-我知道tinyMCE更好, 但nicEdit真的很轻。如果必须的话,我会切换。

或者我应该通过某种过滤器功能运行文本?

我的网页是建立瓦特/ PHP-任何想法如何我可以修复这个错误?

+3

你使用什么字符集? – 2011-05-25 14:50:30

+0

在进入数据库之前,特殊字符的声音没有被转换成它们各自的html实体。 – Jrod 2011-05-25 14:54:05

+0

该页面有一个UTF 8字符集。保存数据的SQL数据库字段使用Collat​​ion键入“text”:utf8_general_ci – GRY 2011-05-25 14:54:37

回答

1

大概一举两得:

A)切换到WYSIWYG编辑器产生有效的XHTML,开始时,和

b)中解析/验证/ sanitize方法无论是由最终用户发送(使用HTML净化器,PHP的DOM库,或其他)在存储之前。