关于UTF-8编码 想了解一下UTF-8编码,却无论如何也得不到正确的结果. 请高手指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以下是原程序utf.asp:<%@ LANGUAGE="JAVASCRIPT" %><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><%Response.write ("这是你输入的内容:" + encodeURI ( decodeURI(Request("t1"))) );%><br/><span style="color:blue">这些不是你输入的内容</span>在IE中运行:http://localhost/aj/utf/utf.asp?t1=ddd内容:ddd以下是运行结果:这是你输入的内容:ddd%E5%86%85%E5%AE%B9:ddd这些不是你输入的内容 传值的时候进行处理 http://localhost/aj/utf/utf.asp?t1=encodeURI("ddd内容:ddd") 传值时处理的结果以下:这是你输入的内容:encodeURI(%22ddd%E5%86%85%E5%AE%B9:ddd%22)这些不是你输入的内容 似乎还不对! http://localhost/aj/utf/utf.asp?t1=encodeURI("ddd内容:ddd")这个肯定不能直接这样写。 写成 t1="+encodeURI("ddd内容:ddd")+" 之类的,自己看看就知道了 修改了程序:<%@ LANGUAGE="JAVASCRIPT" %><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><%Response.write ("这是你输入的内容:" + decodeURI(Request("t1")) );%><br/><span style="color:blue">这些不是你输入的内容</span>我输入:http://localhost/aj/utf/utf.asp?t1=%22ddd%E5%86%85%E5%AE%B9:ddd%22运行结果是:这是你输入的内容:"ddd内容:ddd"这些不是你输入的内容 实际应用时,只能靠程序动转码了?! 没那么复杂。你把页面编码改为UTF-8后,在保存页面的时候选择编码UTF-8,不要选择默认的ANSI。 我将程序修改过之后,在命令行输入的汉字不认了:<%@ LANGUAGE="JAVASCRIPT" CODEPAGE="65001" %><% Session.CodePage=65001; %><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body><%var t1 = Request.Querystring("t1");Response.write ("<br/>这是你输入的内容:" + decodeURI(t1) );Response.write ("<br/>这是你输入的内容类型:" + typeof(decodeURI(t1)) );Response.write ("<br/>这是你输入的内容长度:" + decodeURI(t1).length );%><br/><span style="color:blue">这些不是你输入的内容</span></body></html> 1.你不能直接在url上加转码函数处理,可以在JS里处理好了以后,把转码后的字符串赋给tl2.页面编码utf-8,文件编码也采用utf-83.utf-8编码,你用post方式传参数应该没问题,就不需要转换字符了。 我只是想体会一下UTF-8编码而已,不曾想,真的有这么多的技巧(麻烦?!). Jquery Validate.js 验证Select 多个JavaScript的验证问题 JS DIV取值 有关选项卡在firefox下失效的问题,望大家帮帮忙 JS控制事件问题 WebTree问题 关于模态窗口父窗口刷新后保存子窗口参数的问题 关于点击 + 图标即可展现帖子列表或者帖子内容 为什么我的<select></select>不能隐藏,没分了,帮帮忙,谢谢! js预览文件服务器文件,结果变为下载文件,为什么 高手请进,改造JS文字放大镜效果特效 ExtJS Element.js
<%@ LANGUAGE="JAVASCRIPT" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<%
Response.write ("这是你输入的内容:" + encodeURI ( decodeURI(Request("t1"))) );
%><br/>
<span style="color:blue">这些不是你输入的内容</span>
在IE中运行:
http://localhost/aj/utf/utf.asp?t1=ddd内容:ddd以下是运行结果:这是你输入的内容:ddd%E5%86%85%E5%AE%B9:ddd
这些不是你输入的内容
http://localhost/aj/utf/utf.asp?t1=encodeURI("ddd内容:ddd")
这些不是你输入的内容 似乎还不对!
这个肯定不能直接这样写。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<%
Response.write ("这是你输入的内容:" + decodeURI(Request("t1")) );
%><br/>
<span style="color:blue">这些不是你输入的内容</span>
我输入:
http://localhost/aj/utf/utf.asp?t1=%22ddd%E5%86%85%E5%AE%B9:ddd%22
运行结果是:
这是你输入的内容:"ddd内容:ddd"
这些不是你输入的内容 实际应用时,只能靠程序动转码了?!
<% Session.CodePage=65001; %><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body><%var t1 = Request.Querystring("t1");Response.write ("<br/>这是你输入的内容:" + decodeURI(t1) );
Response.write ("<br/>这是你输入的内容类型:" + typeof(decodeURI(t1)) );
Response.write ("<br/>这是你输入的内容长度:" + decodeURI(t1).length );%><br/>
<span style="color:blue">这些不是你输入的内容</span>
</body>
</html>
2.页面编码utf-8,文件编码也采用utf-8
3.utf-8编码,你用post方式传参数应该没问题,就不需要转换字符了。