为了更多地了解字体渲染/编码,我更加好奇为什么当我将表情符号复制并粘贴到空白<html>
页面并简单地将.html文件保存在我的机器上时,或者甚至启动本地php服务器并在那里提供带有上述表情符号的文件,它们或者分别显示为一些奇怪的字符(ðŸ〜‡ðŸμðŸ™)或空白。然而,我知道当我直接输入这个堆栈溢出请求textarea时,它们将在我的浏览器中正确呈现,并在查看此页面时按预期显示。
我的理解是,由于mac osx现在附带了正确的表情符号字体,因此它们应该被渲染为。那么您现在正在查看的HTML页面与我保存在计算机上的本地页面之间的断开连接在哪里?
推荐阅读将不胜感激! :)错误....
答案 0 :(得分:8)
当Web服务器将文件发送到浏览器时,它也会发送一组HTTP标头,转发有关内容类型,缓存等的信息。内容类型标头还会通知浏览器使用了哪种编码:
Content-Type: text/html; charset=utf-8
如果您在本地打开该文件,那么您的浏览器只会获取该文件,并且必须猜测编码。您可以在HTML head
中声明编码:
<meta charset="utf-8">