我在页面标题上遇到UTF-8字符问题, 我想在页面标题上添加这个 - > ♫< ---(音乐符号)
问题是,有时它可以正常工作(在谷歌浏览器上),有时它不会(当它不起作用时,它看起来像一个应该是编码错误的正方形)奇怪。 在Firefox中,当你查看窗口顶部的标题(页面中出现的标题)时,它总是有效,但下面栏中显示的标题再次显示为正方形。 :/ 我该怎么做才能解决这个问题?
我正在通过Javascript文件定义标题,我正在使用PHP将它定义为utf-8。
var title =“♫我的音乐”; document.title = title;
顺便说一句,它似乎总是在Linux上工作,但在Windows上,它会做那些事情。 = /提前致谢。
答案 0 :(得分:5)
这是字体问题而不是编码问题;代替字符的小矩形通常意味着该字符不存在于所使用的字体中。
浏览器在呈现title
元素内容(页面本身之外的某个位置)时通常会使用某些特定字体。这些字体可能取决于操作系统中的设置。例如,在Windows 7上,它们的默认值为9pt Segoe UI,这是一种相对丰富的字体,而旧系统的字体更为有限。无论如何,这不在作者手中。
因此结论是title
元素中应避免使用特殊符号。它们的渲染无法保证,就搜索引擎而言,它们可能没有任何价值。
答案 1 :(得分:2)
您是否已将charset的元标记添加到HTML?
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
答案 2 :(得分:1)
有时候它会起作用(在谷歌浏览器上),有时它不起作用(当它不起作用时,它看起来像一个应该是编码错误的正方形)怪异地
这很可能取决于浏览器和操作系统使用的字体。如果字符在字体中定义,它将显示。如果不是,它就不会。
不幸的是,你无能为力 - 这些都是你无法控制的。
答案 3 :(得分:-1)
我用这种表示法解决了这个问题(西班牙语年份):
title="A & # 241 ; o"
重要:我在字符之间插入空格以进行充分的渲染。