冰岛语言在javascript警告框中搞砸了

时间:2012-06-21 13:24:27

标签: javascript character-encoding alert

我有一个警告框,我想要显示一些冰岛文字,但它没有显示它

<script>
function check() {
alert("Þú verður að vera skráð/ur inn til þess að senda skilaboð");
}
</script>

它显示警告框但是文本搞砸了:(

Þúverïuraðveraskráð/ ur inntilþessaðsendapilalaboð

任何帮助请:(

4 个答案:

答案 0 :(得分:5)

今天,网络使用了许多国际语言,并决定使用UTF-8(一种unicode)进行字符编码。这很重要。

您正在使用MS-Windows字符集iso-8859-1。如果您使用的是Word 2007或2010,则可以选择将文本重新保存为UTF-8。如果您曾在某人的网站上看过?????而不是文字,那就是错误的编码类型。

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

始终端到端使用UTF-8。请勿使用8859-1或Windows 2151编码。

请参阅:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

ISO-8859-1 vs UTF-8?

Character encodings and the beauty of UTF-8

答案 1 :(得分:2)

让我们以html5的方式做到:)

<!doctype html>
<html>
   <head>
       <meta charset = "utf-8" />
   </head>

答案 2 :(得分:0)

编码危害我最好的猜测: 检查是否......

  1. js文件在服务器上正确编码(UTF8)
  2. 服务器使用适当的编码头(HTTP/1.1 about encoding
  3. 传递JS文件
  4. ... @Diodeus是对的

答案 3 :(得分:0)

警报显示的内容是UTF-8编码的文本被误解为windows-1252编码。 (Windows-1252是ISO-8859-1的Microsoft扩展。)

如果您的网页显然是ISO-8859-1编码,那么这也适用于script元素内容。如果你发布的代码不起作用,那就有些奇怪了。你确定这个元素真的在你的正常页面里,冰岛人物可以正常工作吗?您应该尝试通过改变编码来解决这种情况,例如在不知道发生了什么的情况下改变编码。

我只是猜测:alert()调用实际上是在外部.js文件中,该文件是UTF-8编码但被浏览器视为windows-1252编码。然后有两个替代修复:1)在编辑器中打开该文件并将其保存为windows-1252或ISO-8859-1编码;或者2)将服务器设置修改为声明的UTF-8用于.js文件或(不太可靠)将charset=utf-8属性添加到script元素。

或者,如果alert()调用实际上在HTML文件中的script元素内,那么这个文件可能是UTF-8编码的,但是你没有观察到其他问题,因为该文件不包含冰岛字符。在这种情况下,最好在您的创作程序中打开HTML文件,并将其编码更改为windows-1252或ISO-8859-1。