check.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>检测用户名</title>
</head><body>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/check.js"></script>
<form name="user_form" method="post">
用户名:<input type="text" name="user" id="user" /><input type="button" value="查看" id="bt" /></form>
<div id="info"></div>
</body>
</html>check.php<?echo $_GET["name"];?>check.js$(document).ready(function() { $("#bt").click(function(){
//alert("aaa");
var username = $("#user").val();
alert(username);
$.get("check.php?name="+ URLEncode(username),null,function(response){
$("#info").html(response);
});
});
});从网上找了好多方法,都不行,都设置为utf-8了。FF下是中文,IE下是乱码。
没把文件设置为UTF-8时,FF下是乱码,IE下是中文。
于是很郁闷
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>检测用户名</title>
</head><body>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/check.js"></script>
<form name="user_form" method="post">
用户名:<input type="text" name="user" id="user" /><input type="button" value="查看" id="bt" /></form>
<div id="info"></div>
</body>
</html>check.php<?echo $_GET["name"];?>check.js$(document).ready(function() { $("#bt").click(function(){
//alert("aaa");
var username = $("#user").val();
alert(username);
$.get("check.php?name="+ URLEncode(username),null,function(response){
$("#info").html(response);
});
});
});从网上找了好多方法,都不行,都设置为utf-8了。FF下是中文,IE下是乱码。
没把文件设置为UTF-8时,FF下是乱码,IE下是中文。
于是很郁闷
你现在输出的是格式是GBK,所以默认情况FF是乱码,IE是中文(默认是GBK),
当你设置成head的charset为utf-8,问题刚好相反。
当使用gbk编码时,则需做url编码处理
因为gbk编码(其他编码也一样)的数据在浏览器中都被转码成unicode,再经XMLHttp转交后就成乱码了。所以应使用 encodeURIComponent 转换成utf-8的url编码,到达php后在根据需要转换成需要的编码
然后编辑 httpd-languages.conf :
在最后添加一行:AddDefaultCharset gb2312
这样,用ajax时,传输的数据就是gb2312了,不必用php的iconv函数在gb2312和utf-8之间转码了。
JS:var url = encodeURI("${ctxPath}/cm/fileUpload.shtml?method=delete&file_truename="+file_truename);