【问题标题】:HTML meta charset not workingHTML 元字符集不起作用
【发布时间】:2013-08-19 22:24:43
【问题描述】:

在我页面的开头,我有以下代码:

<HTML>
<head>
<meta charset="utf-8">
<title> 
//other

我使用了meta,因为我必须在我的网站中添加一些日文字符。在这里你可以看到一个例子:

<tr>
<td><label class="blacktd" onmouseover="apriimg('imgbox', '4');"> Shy Guy Bazaar </label></td>
<td><a href="http://www.youtube.com/watch?v=kpmkZIcD7fc">2'03"007</a></td>
<td>そうめん</td> //look at here
<td><img src="http://mk7vrlist.altervista.org/flags/jp.gif" /></td>
<td>2013/06/30</td>
</tr>

我用谷歌搜索了这个,我发现我只需要将该标签与charset 属性一起放置。顺便说一句,我的网页显示%u305D%u3046%u3081%u3093 而不是“そうめん”。你知道为什么吗?

【问题讨论】:

  • 如果您的页面“显示 %u305D%u3046%u3081%u3093 而不是“そうめん””,那么您还有很多事情没有告诉我们。发布一个真实的 URL 可能是显示问题所在的快速途径。
  • “还有很多你没有告诉我们”但@Quentin 立即以正确的方式回答,这对我有很大帮助。我不认为他是个天才,他只是用这些知识来提供有用的答案。
  • 如果您认为昆汀的回答解决了您的问题,请接受。事实仍然是没有正常的字符集混淆产生%u305D%u3046%u3081%u3093

标签: html


【解决方案1】:

因为:

  • 您有一个 HTTP 标头,它指定了不同的字符编码(HTTP 标头优先于元元素)
  • 您尚未使用 UTF-8 保存文档(您只是告诉浏览器您是)

【讨论】:

  • 等等?我该怎么办?
  • 检查您的 HTTP 标头(例如,使用 Chrome 开发人员工具的网络选项卡),如果正确,请配置您用来创建 HTML 文件的任何软件以使用 UTF-8。
  • 所以是我的浏览器的“故障”?
  • 不是浏览器的问题。
【解决方案2】:

你的文档类型是 HTML5

<!DOCTYPE html>

如果不是,您必须将其用于所有其他文档类型

<meta http-equiv="content-type" content="text/html; charset=utf-8">

【讨论】:

    【解决方案3】:

    感谢所有回答者,但我在解决它时遇到了麻烦,因为我在两个编辑器(Leafpad 和 vim)中将文件保存为 UTF-8,但在浏览器中仍然出现奇怪的字符。正如here 所述,罪魁祸首是字节顺序标记,这似乎在两个编辑器中都没有默认设置,但必须在 vim 中显式设置:

    :set bomb
    

    这终于解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 2013-11-10
      • 2020-11-10
      • 1970-01-01
      • 2020-10-28
      • 2017-07-08
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多