XML+XSL调用Javascript输出,汉语言会是乱码

XML+XSL调用Javascript输出,中文会是乱码
我用XML+XSL,XSL调用Javascript输出,会出现乱码
index.xml
<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="index.xsl"?>
<单位>
<名称>单位的名称</名称>
<Logo>img/Logo.jpg</Logo>
<英文名>MC</英文名>

<目录>
<分类>
<ID>00001</ID>
<标题>百度</标题>
<链接>http://www.baidu.com</链接>
<打开方式>_blank</打开方式>
</分类>
<分类>
<ID>00002</ID>
<标题>谷歌</标题>
<链接>http://www.google.cn</链接>
<打开方式>_blank</打开方式>
</分类>
<分类>
<ID>00003</ID>
<标题>腾讯</标题>
<链接>http://www.qq.com</链接>
<打开方式>_blank</打开方式>
</分类>
<分类>
<ID>00004</ID>
<标题>网易</标题>
<链接>http://www.163.com</链接>
<打开方式>_blank</打开方式>
</分类>
</目录>
</单位>


index.xsl
XSL代码:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="text()">
<xsl:value-of/>
</xsl:template>
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="GB2312"/>
<title><xsl:value-of select="单位/名称"/> - <xsl:value-of select="单位/英文名"/></title>
<link rel="Stylesheet" href="index.css" type="text/css"/>
<script language="javascript" src="js/timer.js"></script>
</head>
<body onload="show5()">
<div id="Logo">
<img id="imgLogo">
<xsl:attribute name="src">
<xsl:value-of select="单位/Logo"/>
</xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="单位/名称"/></xsl:attribute>
</img>
</div>
<div id="liveclock"></div>
<div id="ML">
<xsl:apply-templates select="单位/目录"/>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="目录">
<xsl:for-each select="分类">
<a>
<xsl:attribute name="href">
<xsl:value-of select="链接"/>
</xsl:attribute>
<xsl:attribute name="target">
<xsl:value-of select="打开方式"/>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="标题"/>
</xsl:attribute>
<xsl:value-of select="标题"/></a>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

timer.js
function show5(){
if (!document.layers&&!document.all) return;
var digital=new Date();
var hours=digital.getHours();
var minutes=digital.getMinutes();
var seconds=digital.getSeconds();

if (hours<=9) hours="0"+hours;
if (minutes<=9) minutes="0"+minutes;
if (seconds<=9) seconds="0"+seconds;

clock="时间:" + hours+":"+minutes+":"+seconds;

if (document.layers){
document.layers.liveclock.document.write(clock);
document.layers.liveclock.document.close();
}
else if (document.all) liveclock.innerHTML=clock;
setTimeout("show5()",1000);
}


调用timer.js时的中文“时间:”都会出现乱码,我也已经设置了:charset="GB2312"。
------解决方案--------------------
<script language="javascript" src="js/timer.js" charset="GB2312"> </script>