xmlhttp为什么发送中文到服务器端都是乱码? 你的服务器端与客户端之间的编码格式不对应,比如客户端发送请求一般都是用UTF-8(你可以到Intenet 选项里看),而你的服务器端又是其它的编码格式,比如说GB2312 or Unicode 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢!都改成utf-8了。还是不行呀! 进行url编码<script language="JavaScript"><!--function utf8(wide) { var c, s; var enc = ""; var i = 0; while(i<wide.length) { c= wide.charCodeAt(i++); // handle UTF-16 surrogates if (c>=0xDC00 && c<0xE000) continue; if (c>=0xD800 && c<0xDC00) { if (i>=wide.length) continue; s= wide.charCodeAt(i++); if (s<0xDC00 || c>=0xDE00) continue; c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000; } // output value if (c<0x80) enc += String.fromCharCode(c); else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F)); else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F)); else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F)); } return enc;}var hexchars = "0123456789ABCDEF";function toHex(n) { return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF);}var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";function encodeURIComponentNew(s) { var s = utf8(s); var c; var enc = ""; for (var i= 0; i<s.length; i++) { if (okURIchars.indexOf(s.charAt(i))==-1) enc += "%"+toHex(s.charCodeAt(i)); else enc += s.charAt(i); } return enc;}function buildURL(fld){ if (fld == "") return ""; var encodedField = ""; var s = fld; if (typeof encodeURIComponent == "function") { // Use JavaScript built-in function // IE 5.5+ and Netscape 6+ and Mozilla encodedField = encodeURIComponent(s); } else { // Need to mimic the JavaScript version // Netscape 4 and IE 4 and IE 5.0 encodedField = encodeURIComponentNew(s); } return encodedField;}var myHttp=new GetXmlHttp();var mmmm=document.Form1.myText.value;myHttp.open("GET","WebForm1.aspx?abc=" + buildURL(mmmm),false);myHttp.send(null);//alert(buildURL("中文"))// --></script> myHttp.setRequestHeader("Content-Type","text/xml")myHttp.setRequestHeader("Content-Type","gb2312") prototype的用法 javascript自动计算总价并输出 三四行的一段代码,麻烦看下有没有内存溢出 视频播放 JS 文件内部可否包含另一个js 读取escape编后不能自动换行 如何屏蔽网页中RealPlayer控件的右键菜单 清我所有来问大家个问题:如何在客户端获取datagrid中选择的行数据?? 请问鼠标移到菜单项上的命令是什么? 孟子E章老兄,多谢你的回答,还请接分 如何用javascript检查到checkbox的状态是否被选中? 怎样用JS对URL进行完美的编码解码?
<!--
function utf8(wide) {
var c, s;
var enc = "";
var i = 0;
while(i<wide.length) {
c= wide.charCodeAt(i++);
// handle UTF-16 surrogates
if (c>=0xDC00 && c<0xE000) continue;
if (c>=0xD800 && c<0xDC00) {
if (i>=wide.length) continue;
s= wide.charCodeAt(i++);
if (s<0xDC00 || c>=0xDE00) continue;
c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
}
// output value
if (c<0x80) enc += String.fromCharCode(c);
else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));
else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));
else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));
}
return enc;
}var hexchars = "0123456789ABCDEF";function toHex(n) {
return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF);
}var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";function encodeURIComponentNew(s) {
var s = utf8(s);
var c;
var enc = "";
for (var i= 0; i<s.length; i++) {
if (okURIchars.indexOf(s.charAt(i))==-1)
enc += "%"+toHex(s.charCodeAt(i));
else
enc += s.charAt(i);
}
return enc;
}function buildURL(fld)
{
if (fld == "") return "";
var encodedField = "";
var s = fld;
if (typeof encodeURIComponent == "function")
{
// Use JavaScript built-in function
// IE 5.5+ and Netscape 6+ and Mozilla
encodedField = encodeURIComponent(s);
}
else
{
// Need to mimic the JavaScript version
// Netscape 4 and IE 4 and IE 5.0
encodedField = encodeURIComponentNew(s);
}
return encodedField;
}
var myHttp=new GetXmlHttp();
var mmmm=document.Form1.myText.value;
myHttp.open("GET","WebForm1.aspx?abc=" + buildURL(mmmm),false);
myHttp.send(null);//alert(buildURL("中文"))
// -->
</script>
myHttp.setRequestHeader("Content-Type","gb2312")