瑞典字符和UTF-8

16

我在所有网页上都使用UTF-8,但一些瑞典字符(å ä和ö)会出现问题(只是一个带有一些字母的方框)。我的数据库设置为utf8_general_ci,但我甚至没有连接到它,所以这并不重要。或者我应该使用另一种字符集?它不是一个瑞典站点,全部都是英语,但我希望å ä和ö也能正常工作。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Untitled document</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" href="default.css" />
</head>
<body>
  <p>åäö</p>
</body>
</html>

问题出在哪里呢?:/

顺便说一下,我使用的是WAMP。


在Firefox和Internet Explorer 6中,它打印一个方框而不是那三个字母。 - John
和我一样... 我刚在 Chrome 中试了一下... 我得到了与 John 相同的结果(这次是三个问号)。 - waqasahmed
顺便说一句,它们在源代码中显示正确。 - waqasahmed
不是我的问题,在源代码中有方框。 - John
IE和Chrome(后者使用什么平台?)使用什么编码来显示页面?(我的三个Mac浏览器都显示为utf-8,并且正确显示)。如果您将其保存为a.html并打开该文件,问题是否仍然存在(表明这不是服务器问题而是浏览器问题),还是消失了(表明相反)? - Alex Martelli
显示剩余4条评论
6个回答

18

我知道这个问题很久了,但我遇到了同样的问题。

我只需要设置正确的字符集:

<meta http-equiv="content-type" content="text/html" charset="ISO-8859-1" />

在尝试解决这个问题几个小时后,这个答案对我有用。但我认为除非我的MySQL表的排序规则:uft8_swedish_ci与ISO-8859-1相同,否则它不应该起作用。 - Henrik

4

我认为将文件编码与meta标签中设置的字符集相同非常重要。如果它们不同,可能会出现问题。因此,您需要知道您的文件编码方式!

如果文件编码为utf-8,则使用:

<meta http-equiv="Content-Type" content="text/html" charset="utf-8"/>

如果您的文件编码为ISO-8859,则使用以下内容:
<meta http-equiv="content-type" content="text/html" charset="ISO-8859-1"/>

当我将文件的编码和meta标签中的字符集设为相同的时候,它们可以正常工作。祝你好运!


1

我想分享一下我的想法,因为这可能会帮助其他遇到这个问题的人。

除了在网站上设置字符集之外,还必须知道在创建页面时编辑器使用的字符集。

我曾经犯过很多次错误,在网页上使用UTF8,但在Notepad++(我选择的编辑器)中使用标准字符集ANSI,所以我的å ä和ö会变成乱码...

因此,如果瑞典字母在UTF8编码的网站上没有正确显示,请检查源文件,确保文件也是使用UTF8字符集编码的,然后它应该可以正常工作。


0

对我来说,双击文件(只要编辑器支持utf-8)或从本地主机(Apache,默认为UTF-8)提供服务都可以正常工作。

您确实应该检查一下您的Web服务器在发送文件时发送了哪些HTTP标头。如果您以前的内容是英文(即ASCII),您可能从未意识到您的服务器正在使用ISO-8859-1或Windows-1252的标头覆盖UTF-8的infile声明。

您可以使用一些Firefox扩展程序(如Live HTTP HeadersHTTPFox)实时查看标头。如果这是问题的原因,并且您的服务器是Apache,则只需在主httpd.conf文件或webroot文件夹中的.htaccess文件中添加AddDefaultCharset utf-8即可。


-1

这个问题比较老了,但我遇到了同样的问题,所以想分享一下解决方案。请确保您的文本编辑器将文件保存为 utf-8 编码。仅在元数据中设置编码方案是不够的。

以下是在 Dreamweaver 中的操作步骤:

1)单击窗口顶部面板上的“修改”。 2)选择“页面属性”。 3)选择“标题/编码”。 4)将编码方案设置为 UTF-8。

希望这可以帮助到您。


-2
我发现了 "https://www.html.am/reference/html-special-characters.cfm",通过输入字符代码,我能够使用任何我想要的字符。不需要导入特定的库或其他东西。
例如:瑞典语中的 'ä' = ä。所以在 HTML 中,'Stapelbäddsparken' = Stapelbäddsparken。
希望这对你有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接