我正在修改我的网站以使用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验证检查时,它会在&
符号上失败,因为它未更改为&
。
现在我尝试使用htmlentities()
解决此问题,但这会对所有内容进行编码,包括HTML P
标记的尖括号。所以它看起来不正确。此外,英镑符号出现在它前面有一个奇怪的角色。
我的问题是,我是否正确地将数据存储在数据库表中?如果是这样,我需要做些什么来确保所有显示和验证都正确?