共有两个页面,时而不会乱码,时而乱码,郁闷死了,那位高手帮忙解决一下,谢谢..
显示页面的全部代码:<!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" xml:lang="zh-CN" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>ajax测试</title>
<script language="javascript" type="text/javascript">
function getAjax(){
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
if (ajax.overrideMimeType)
{
ajax.overrideMimeType('text/xml');
}
}
return ajax;
} function showhelp(url,pid,wid,count,objID){
var serverPage;
var objdiary = document.getElementById(objID);
serverPage=url+"?"+"productid="+pid+"&webid="+wid+"&count="+count;
serverPage +="&"+Math.random();
var ajaxFri = getAjax();
ajaxFri.open("GET", serverPage, true);
ajaxFri.onreadystatechange = function() {
if (ajaxFri.readyState == 4 && ajaxFri.status == 200) {
var text = ajaxFri.responseText;
if(text!=0){
objdiary.innerHTML=unescape(text);
}
}
}
ajaxFri.send(null);
} </script>
</head>
<body>
<span id="Help001"></span>
<script language="javascript" type="text/javascript">
showhelp("/gethelp1.asp","1","2","1","Help001");
</script>
</body>
</html>
gethelp1.asp的代码:
<%
str1="<div id='bottom-faq'>数据一、数据二、数据三</div>"
return_str=str1
response.ContentType = "text/html"
response.Charset = "gb2312"
response.write return_str
response.end
%>
显示页面的全部代码:<!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" xml:lang="zh-CN" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>ajax测试</title>
<script language="javascript" type="text/javascript">
function getAjax(){
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
if (ajax.overrideMimeType)
{
ajax.overrideMimeType('text/xml');
}
}
return ajax;
} function showhelp(url,pid,wid,count,objID){
var serverPage;
var objdiary = document.getElementById(objID);
serverPage=url+"?"+"productid="+pid+"&webid="+wid+"&count="+count;
serverPage +="&"+Math.random();
var ajaxFri = getAjax();
ajaxFri.open("GET", serverPage, true);
ajaxFri.onreadystatechange = function() {
if (ajaxFri.readyState == 4 && ajaxFri.status == 200) {
var text = ajaxFri.responseText;
if(text!=0){
objdiary.innerHTML=unescape(text);
}
}
}
ajaxFri.send(null);
} </script>
</head>
<body>
<span id="Help001"></span>
<script language="javascript" type="text/javascript">
showhelp("/gethelp1.asp","1","2","1","Help001");
</script>
</body>
</html>
gethelp1.asp的代码:
<%
str1="<div id='bottom-faq'>数据一、数据二、数据三</div>"
return_str=str1
response.ContentType = "text/html"
response.Charset = "gb2312"
response.write return_str
response.end
%>
getAjax()中间代码有点问题,
还有
serverPage=url+"?"+"productid="+pid+"&webid="+wid+"&count="+count;
serverPage +="&"+Math.random();
为什么下面这句serverPage +="&"+Math.random();
不加个参数呢
serverPage +="&参数="+Math.random();
response设置成uft-8编码,而网页设置为gb2312或者gbk编码
在页面上用 ajax提交数据之前编码:encodeURI(param)
服务器解码:接受到param后,
String str = java.net.URLDecoder.decode(param, "UTF-8");
String str = java.net.URLDecoder.decode(param, "UTF-8");
这是java的吧,我用的是javascript来的.当中的属性应该不一致吧.gzdiablo,谢谢您,是啊,我是用innerHtml的方式,asp文件最好用\uxxxx方式返回,能不能说详细一点.
dim char
for i=0 to len(str) - 1
char = HEX(AscW(Mid(str,i+1,1)))
if len(char)<3 then
coverToUnicode = coverToUnicode & "\x" & char
else
coverToUnicode = coverToUnicode & "\u" & char
end if
next
end Function服务器端asp代码中 把带中文的字符串用这个方法编码一下