很多人都会遇到这么一个问题,当自己在PHP中创建一个数据库,想在数据库中的表单中插入数据,
却发现数据库记录的数据时乱码,让我们来看一下下面的例子吧!
例子:
<b>表单数据插入</b><hr/>
<?php
if ($_GET['act'] == 'insert') {
error_reporting(0);
$link = mysql_connect('localhost:3306','root',''); //建立连接
if(!$link) {
die('连接MySQL服务失败:'.mysql_error());
}
mysql_select_db("xiaomai",$link);
if(mysql_query("INSERT INTO student (name, size, heigh) VALUES ('".$_POST['name']."', '".$_POST['size']."',
'".$_POST['heigh']."')"))
{
echo "<p>插入数据成功!";
}
else
{
echo "<p>插入数据失败!";
}
mysql_close($link);
die();
}
?>
<form action="tableIndex.php?act=insert" method="post">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>体重:</td>
<td><input type="text" name="size"/></td>
</tr>
<tr>
<td>身高:</td>
<td><input type="text" name="heigh"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
在之前我们已经创建好意一个数据库为 xiaomai ,数据表为student,上面的代码是一个前端的数据插入表单!我们运行上面那段代码的程序时,当你输入数据,然后查看数据库,发现里面会有乱码的想象!其实上面的代码,在很多教科书,资料都有出现,我自己调试过,是数据库配置的问题!
解决方法:
在插入数据的前面加这段代码:
mysql_query("set names gbk");
运行就可以了,不乱码了!
来自网上的一些方法:
在网上有些说法是在在插入数据的前面加这段代码: