不用转,直接echo $_GET['name']就是中文
解决方案 »
- 求助:一个很难的PHP采集替换问题
- php如何接收js confirm返回的值?
- php file_get_contents 的乱码问题
- 达人请进!!一个数据库问题。。。
- 哪位讲讲防注册机的方法?
- 彻底解决gd中文乱码? 谢谢
- 为什么我连本机的数据库,可以连 $conn=mssql_connect("rd05","sa","");
- 高分:一个大难题(对于我来说) 灌水勿进
- 有没有人使用过用imap协议实现邮件的发送和接受
- nl2br()这个函数,nl是什么的简写?
- 我用eWebEditor在本机测试可以,怎么放到网上出不来编辑器了提示No input file specified.
- 我编的验证用户名和密码的函数程序清单.
如果你只是要使用get变量的话
就像楼上说的,php自动帮你转好的
$this->_get_vars .= "&$_get_name=".urlencode(trim($_get_value))."";
}else{
$this->_get_vars .= "&$_get_name=".trim($_get_value)."";
} //因为我是用skey传递中文字符的.英文的和数字的没有必要处理了!外边接收的时候注意写成urldecode($_GET['skey']); 就OK了. 同时还有个关键问题要注意.其实你看到ie 下边的status bar 中必须是解释出来的HEX码才正确,一定不能有明文.妈妈的.其实PHP有的时候很怪异,写东西的时候注意一下尽量使用标准写法. 比如上边的是 "&$_get_name=".urlencode(trim($_get_value))."";就是正确的,可是 "&$_get_name=urlencode(trim($_get_value))"; 就一定是错误的!上边是我自己的工作日记一点内容!!首先建议不要用中文做参数传递.如果必须的时候.再GET的时候用urlencode 格式化.在获得的地方,必须用urldecode重新解释一下.你可以看看手册,测试一下就全明白了!!
这个不一定是错误,如果你的系统是简体中文GB2312就是错的,如果你的系统是支持中文的UTF-8,就是正确的。楼上的讲了这么多还是没讲清楚,建议你看看HTTP协议 RFC1945,RFC2616
协议规定,连接字符串都是经过urlencode的,%开头后面两个字符(0-9A-F),服务器接收这种字符串会自动转换成ASCII码,对于没有%开头的当成0x00-0xFF字符处理,所以:name=天娇 在GB2312下等价于 name=%CC%EC%BD%BF 在UTF-8下等价于 name=%E5%A4%A9%E5%A8%87所以对于PHP程序来说根本没必要做urldecode,这一步是自动转换的。而对于不同字符集里的转换,用iconv