【发布时间】:2012-08-01 02:07:19
【问题描述】:
我正在处理一个将字符集从 iso-8859-1 切换到 utf-8 的网页。页面顶部是这样的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[title of site]</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我只在页面中使用 ASCII 字符,并且由于 utf-8 编码超集 ASCII,这应该没问题。但是,文本中的单引号显示为被黑色菱形包围的问号。我已经验证这些是 ASCII 单引号(不是直引号)。
我在网上阅读了很多描述解决问题的方法,这些解决方案涉及 PHP、魔术引号、数据库配置等。但是,这是一个没有任何程序呈现的平面 HTML 页面。
此外,许多遇到此问题的人被告知切换到 UTF-8 来解决问题。这正是我引入问题的方式。
【问题讨论】:
-
这些词如何出现在您的数据库中?
-
页面的来源没有有ASCII单引号。无论将文本放在那里,都将它们更改为其他内容,如果它们确实是原始源中的 ASCII 单引号(我真诚地怀疑)。