为什么xml页面提交来的中文数据是乱码?

jemmylau 2002-08-28 10:37:18
我用xml页面提给asp页面数据,传递英文是没问题的,可是中文就有问题了
response.write出来的和写入数据库的,全是乱码,为什么?
如何解决呢?
...全文
36 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQKiKi 2002-08-30
  • 打赏
  • 举报
回复
XSL前缀:

<?xml version='1.0' encoding='GB2312'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="gb2312" version="4.0" />
孟子E章 2002-08-30
  • 打赏
  • 举报
回复
如何解决XMLHTTP提交过时返回的是乱码?

下面是解决办法,在IE5和IE6上测试通过:
1,测试从服务器返回含有中文的 XML 字符串,使用 GET 方法来进行测试。
2,如何把含有中文字符串的 XML 提交到服务器,并在服务器进行处理后再以中文的形式返回到客户端,其中没有使用字符串解码的处理,大大提高了效率!


本例子需要两个文件:Test.htm和Test.asp
======================================

test.htm
============
<script>
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","http://mengxianhui/test.asp",false)
xmlhttp.setRequestHeader("Content-Type","text/xml")
xmlhttp.send()
alert(xmlhttp.responseXML.xml);
var s = '<?xml version="1.0"?><a> 如何解决XMLHTTP提交过时返回的是乱码,这是先提交上去,再返回的文字。 </a>'
xmlhttp.open("POST","http://mengxianhui/test.asp",false)
xmlhttp.setRequestHeader("Content-Type","text/xml")
xmlhttp.send(s)
alert(xmlhttp.responseXML.xml);
</script>


test.asp
============
<%@ Language=VBScript %>
<%
Response.ContentType = "text/xml"
Response.CharSet = "GB2312"

Dim varCount,varReq,xmldom
varCount = Request.TotalBytes
varReq = Request.BinaryRead(varCount)

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Set xmldom = Server.CreateObject("MSXML2.DOMDocument")
xmldom.load varReq
Response.Write "<?xml version=""1.0"" encoding=""GB2312""?>" & xmldom.documentElement.xml
Else
Response.Write "<?xml version=""1.0"" encoding=""GB2312""?><a>如何解决XMLHTTP提交过时返回的是乱码,这是从服务器直接返回的文字。</a>"
End If
%>
孟子E章 2002-08-28
  • 打赏
  • 举报
回复
搜索一下,很多这样的问题了
evonne_feng 2002-08-28
  • 打赏
  • 举报
回复
<script language="javascript">
function postData()
{
var oXmlHttp = new ActiveXObject("Msxml2.XMLHttp");
var sPostString = "aa=bb&cc=中文";
oXmlHttp.open("POST","post.asp",false);
oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
oXmlHttp.send(sPostString);

document.all("aa").innerHTML = oXmlHttp.responseText;
}
</script>

<a href="javascript:postData();">click me</a>
<div id="aa"></div>

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧