PHP转码:表单提交GBK编码接收转为UTF8编码
表单提交接收是做网站时经常的操作,但有时提交页与接收页的编码不一样,例如提交页是GBK编码,但接收页却是UTF8编码。这样用表单提交后,就会出同乱码的情况,如何解决这种问题呢?这时就需要进行转码;
表单转码,常用的方法就是通过PHP转码。PHP转码的代码如下:
//把GBK编码转换为UTF8
$name="%CE%F7%B0%B2%C1%F5%D6%CE%D4%C6";
$name=iconv("GBK", "UTF-8", $name);
来一个通过表单提交GBK编码内容,然后接收时使用PHP转为UTF8编码的案例。
提交页代码:
<meta http-equiv="Content-Type" content="text/html; charset=gbk2312"/>
<form action="a.php">
<input type="text" name="username" >
<input type="text" name="email" >
<input type="submit" value="提交" >
</form>
接收页代码:
<?php
/*
代码来源:学做网站论坛 https://www.xuewangzhan.net/
*/
$vipusername = $_POST['username'];
$vipemail = $_POST['email'];
//把GBK编码转换为UTF8
$vipusername=iconv("GBK", "UTF-8", $vipusername);
$vipemail=iconv("GBK", "UTF-8", $vipemail);
echo $vipusername;
echo $vipemail;
?>