1

我正在修改我的网站以使用 UTF-8 编码,这被证明有点痛苦。这是我到目前为止所做的:

1)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

2)mysql_set_charset("utf8");

3)设置数据库、表、列的字符集为utf8

现在我在一个字段中有一些数据,其内容是(确切的形式):

<p>Tom & Jerry £5</p>

将此数据输出到页面后,一切看起来都是正确的。但是,在进行 HTML 验证检查时,它在&符号上失败,因为它没有被更改为&amp;.

现在我尝试通过使用来解决这个问题,htmlentities()但这会编码所有内容,包括 HTMLP标记的尖括号。所以它没有正确显示。此外,英镑符号出现在其前面有一个奇怪的字符。

我的问题是,我是否将数据正确存储在数据库表中?如果是这样,我需要做些什么来确保所有内容都显示并验证正确?

4

1 回答 1

3

在网页中输出 UTF-8 文本时使用htmlspecialchars而不是htmlentities 。

于 2012-08-02T23:08:41.767 回答