在utf8编码下,alert对话框乱码问题

在utf8编码下,alert对话框乱码问题


在制作网页过程中,如果采用utf8编码,有时会出现一些意想不到的错误,像alter乱码就是一个很常见的问题,中国大陆默认是gb2312,如果我们是用这个编码来制作网站,则我们的中文网站一般不会出现在 utf-8的错误.

看一下,以下的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
alert("修改成功,返回产品中心");
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>

运行时出现如下图:
在utf8编码下,alert对话框乱码问题
点确定后,还会再弹出一次对话框,如下:
在utf8编码下,alert对话框乱码问题
而这次才是正确的.如果我把<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />去掉或改成<meta http-equiv="Content-Type" content="text/html; charset=gb22312" />
运行正常..

解决的方法是,把<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />放在js代码之前,即改成

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
alert("修改成功,返回产品中心");
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>

造成这样的原因是中文的出现的时候浏览器还未收到编码通知于是以默认的编码显示文字,等到浏览器正确识别编码后,发现非默认编码,才会再把文字以指字编码显示一次,这就是为什么会弹两次对话框的原因了

你可能感兴趣的:(alert)