我正在使用一个网页,我将字符集从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" />
Run Code Online (Sandbox Code Playgroud)
我只在页面中使用ASCII字符,并且由于utf-8编码超集ASCII,这应该没问题.但是,文中的单引号显示为黑色钻石包围的问号.我已经验证这些是ASCII单引号(不是直引号).
我在网上阅读的内容很多,描述了涉及PHP,魔术引号,数据库配置等问题的解决方案.但是,这是一个没有任何程序呈现的平面HTML页面.
此外,许多有这个问题的人被告知切换到UTF-8来解决问题.这正是我引入问题的方式.
ASCII中唯一的引号是单引号'(0x27或39)和双引号"(0x22或33).你所拥有的是一个8位编码,它将引号置于145(0x91)和146(0x92) CP1252;它是Windows的标准8位西欧编码.如果你想要的是UTF-8,你需要将它转换为UTF-8,因为它不是有效的UTF-8;有效的UTF-8使用多个字节的字符高于127(0x7F),并将开盘和收盘价分别置于U + 2018和U + 2019.