日期:2014-05-17  浏览次数:20863 次

ajax传递中文参数问题
前台代码:
HTML code

    <div id="container"></div>
    <script type="text/javascript">
        $("#container").load("test.aspx?para="+ encodeURIComponent("12345中文") );
    </script>


asp代码:
VB code

<%
ret = request.QueryString("para")
if ret = "12345中文" then                '如何比较传递过来的中文字符串
     response.Write("不能判断中文")
end if
response.Charset="gb2312"    '加这一句,ret乱码,后面的文字可以正确输出,不加这一句ret正确输出,后面的文字乱码
response.Write(ret )
response.Write("服务器端中文")

%>



------解决方案--------------------
全部统一为utf-8编码,将文件的存储文件编码也修改为utf-8

可以做成一个charset.inc文件,在没个asp文件中首先include进来charset.inc
HTML code
<%@ language="Vbscript" codepage="65001" %>
<%response.CharSet="utf-8"
session.CodePage=65001 %>

------解决方案--------------------
一个是按楼上说的。

另外还要注意你文件保存时选择的字符集,如果逻辑指定编码是U8,但你保存的物理编码是GB2312,仍然要乱码。