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下是中文。
于是很郁闷

解决方案 »

  1.   

     $.get("check.php?name="+ URLEncode(username),null,function(response){用encodeURIComponent(username)试试?
      

  2.   

    文件的编码是不是utf8无bom的,或者是ansi的?
      

  3.   

    check.php文件换成utf-8格式或者将里面的输出用iconv换成uft-8输出,
    你现在输出的是格式是GBK,所以默认情况FF是乱码,IE是中文(默认是GBK),
    当你设置成head的charset为utf-8,问题刚好相反。
      

  4.   

    以上的用法jquery里不用做处理, 基本输出什么字符就是什么字符。
      

  5.   

    呃,URLEncode未定义,我下了个URLEncode函数,结果FF下连中文都不显示了,郁闷。
      

  6.   

    由于 XMLHttpRequest 组件总是以 utf-8 编码方式发送数据,所以页面所涉及的全部文件(php、js)最好都保存为无BOM头的utf-8编码文件。在这种情况下是不需要自己做url编码的。如果做了,那么在php中需做解码
    当使用gbk编码时,则需做url编码处理
    因为gbk编码(其他编码也一样)的数据在浏览器中都被转码成unicode,再经XMLHttp转交后就成乱码了。所以应使用 encodeURIComponent 转换成utf-8的url编码,到达php后在根据需要转换成需要的编码
      

  7.   

    Include conf/extra/httpd-languages.conf
    然后编辑 httpd-languages.conf :
    在最后添加一行:AddDefaultCharset gb2312
    这样,用ajax时,传输的数据就是gb2312了,不必用php的iconv函数在gb2312和utf-8之间转码了。
      

  8.   

    用这个试试
    JS:var url = encodeURI("${ctxPath}/cm/fileUpload.shtml?method=delete&file_truename="+file_truename);