Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html &#212在Firefox中显示为商标符号? 和#212;_Html_Html Parsing_Symbols_Asciiencoding - Fatal编程技术网

Html &#212在Firefox中显示为商标符号? 和#212;

Html &#212在Firefox中显示为商标符号? 和#212;,html,html-parsing,symbols,asciiencoding,Html,Html Parsing,Symbols,Asciiencoding,上面是一位同事创建的商标符号的HTML代码。不幸的是,他们使用这个字符序列来为程序名创建商标符号。我觉得这个角色序列很可能会产生这个角色:Ô 然而,序列 -在浏览器中正确显示为TM。 -在Safari中出现错误,因为此符号:Ô -在Firefox中错误显示为以下符号:Ô 为什么与其他浏览器相比,这个符号在Google Chrome中显示正确?我假设这与每个人如何解析不同的字符序列有关,但我只是不明白为什么Chrome会让它正确显示,而忽略通常的字符序列符号Ô 问题:这是HTML页面中商标符号使用

上面是一位同事创建的商标符号的HTML代码。不幸的是,他们使用这个字符序列来为程序名创建商标符号。我觉得这个角色序列很可能会产生这个角色:Ô

然而,序列
-在浏览器中正确显示为TM。
-在Safari中出现错误,因为此符号:Ô
-在Firefox中错误显示为以下符号:Ô

为什么与其他浏览器相比,这个符号在Google Chrome中显示正确?我假设这与每个人如何解析不同的字符序列有关,但我只是不明白为什么Chrome会让它正确显示,而忽略通常的字符序列符号Ô

问题:这是HTML页面中商标符号使用的最佳字符序列吗?或者是否使用了其他更常见的商标符号字符序列?

谢谢

编辑:在其中一个HTML页面的顶部找到DOCTYPE,不确定它是否会产生不同的结果

<span style="font-family:Symbol; font-size:10pt; color:#000000">&#212;</span><span style="font-family:MS Sans Serif; font-size:10pt; color:#000000">

使用HTML实体
&trade(使用普通字体而不是符号)。这映射到
,但命名实体为


或者,对HTML使用UTF-8编码并直接嵌入符号,如回答中所建议。

字符参考
Ô明确表示字符“Ô”U+00D4拉丁文大写字母O和扬抑符。这不依赖于doctype声明或字符编码。因此,将其显示为其他内容的浏览器的行为是错误的

使用符号字体是一个依赖于浏览器bug的老把戏。符号字体是一个乱七八糟的地方,字符被各种符号以相当任意的方式替换。字体包含商标符号的两种变体,代码位置D4(十六进制)的衬线版本和代码位置E4的无衬线版本。(代码试图在一个明显无衬线的环境中使用衬线版本。)这是一个非常古老的把戏,早在20世纪90年代Alan Flavell的

有几种替代方法可以在网页上显示正确的字符U+2122商标符号。不需要字体欺骗,字符应以与周围文本相同的字体呈现;如果你不做任何特别的事情,这会自动发生

方法是:

  • 书写角色本身(™). 例如,如果文档编码是UTF-8或windows-1252,那么使用一个像样的编辑器就可以做到这一点
  • 使用十六进制字符引用
    和#x2122;
    或十进制字符引用
    和#8482;
    。这些工作独立于字符编码,但它们使HTML源代码有点神秘
  • 使用实体引用
    &trade;
    。这更便于记忆,并且独立于字符编码工作。但从理论上讲,在XHTML中并不安全

  • 您的页面采用什么编码?对于ISO-8859-1字符集,Ô似乎是正确的。请参阅问题编辑。我看到的唯一编码信息是这一行:检查浏览器菜单中选择的字符集。它们是否与FF、Chrome和Safari匹配?Safari:默认值。找不到Chrome的任何内容。Firefox设置为Western(ISO-8859-1)。我真正的问题是,这是用于HTML网页的最佳商标序列吗?@Pekka即使将Firefox设置为ISO-8859-1,该序列仍然显示为Ô;符号。(顶部带有^的圆形符号)第一个答案是,使用&trade;并将字体系列更改为Sans Serif,这使商标符号在我测试的每个浏览器中都能正确显示。看来这是修复方法,谢谢!我很欣赏附加信息,特别是因为我对为什么将符号字体与该序列一起使用会产生正确的TM结果感兴趣。
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">