<!DOCTYPE html>
<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=big5" />
<title>中文標題測試</title>
<!-- 中文註解測試 -->
<script type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.js"></xscript>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#b").click(function () {
var xhr = new XMLHttpRequest();
xhr.open("GET", location.href, true);
//如果IE有支援overrideMimeType的話,事情就簡單多了,只可惜...
if (xhr.overrideMimeType)
xhr.overrideMimeType('text/html; charset=big5');
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
alert(xhr.responseText.substr(0, 250));
if (xhr.responseBody)
alert(gb2utf8(xhr.responseBody).substr(0, 250));
}
}
xhr.send();
});
});
function gb2utf8(data) {
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t = escape(gb2utf8_data).replace(/%u/g, "")
.replace(/(.{2})(.{2})/g, "%$2%$1").replace(/%([A-Z].)%(.{2})/g, "@$1$2");
t = t.split("@");
var i = 0, j = t.length, k;
while (++i < j) {
k = t[i].substring(0, 4);
if (!glbEncode[k]) {
gb2utf8_char = eval("0x" + k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k] = escape(gb2utf8_char).substring(1, 6);
}
t[i] = glbEncode[k] + t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}
</script>
</head>
<body>
<div>測試</div>
<input type="button" id="b" value="Test" />
</body>
</html>