你好,我是一个PHP新手,在后台mysql服务器上搭建了一个数据库note,和一个表pcnote,pcnote表里面有2个字段,ID,和 customername. 我主要是连接数据库用上一个insert语句。
有两个页面,一个是form页面,输入一些数据,然后post到后面一个php页面把这些值insert入表里。
但是现在post后出现乱码:
杩炴帴鎴愬姛你好sql鎵ц?澶辫触Unknown column '浣犲ソ' in 'field list'
第一个页面的代码如下:
<html>
<head>
<title>台式机 笔记本维修登记表</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
台式机 笔记本维修登记表
<br />
<form name="log" action="./pcnotebook.php" method="post">
日期:<input type="text" name="datetime">
<br />
地址:<input type="text" name="address" />
<br />
客户姓名:<input type="text" name="name" />
<br />
客户电话: <input type="text" name="telephone" />
<br />
维修的是台式机还是笔记本? <input type="radio" name="computertype" value="台式机" checked />
<input type="radio" name="computertype" value="笔记本" />
<br />
品牌:<input type="text" name="brand">
<br />
操作系统:<input type="text" name="os" />
<br />
主要应用程序:<input type="text" name="mainapp" />
<br />
CPU: <input type="text" name="cpu" />
<br />
主板:<input type="text" name="motherboard" />
<br />
显卡:<input type="text" name="displaycard" />
<br />
显示器:<input type="text" name="monitor" />
<br />
内存:<input type="text" name="RAM" />
<br />
硬盘: <input type="text" name="harddrive" />
<br />
光驱: <input type="text" name="dvdrom" />
<br />
机箱: <input type="text" name="case" />
<br />
键盘鼠标:<input type="text" name="keyboardmouse" />
<br />
<input type="submit" /><input type="reset" />
</form>
</body>
</html>
第二个php页面代码如下:
<html>
<head>
<title>登记</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<?php
//mysql_query("SET NAMES 'gbk'");
$con = mysql_connect("localhost","root","root");
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
if (!$con)
{
die('数据库执行失败'. mysql_error());
}
else
{
echo ("连接成功");
mysql_select_db("note", $con);
//$result = mysql_query("select * from basicinfo");
//while ($row=mysql_fetch_array($result))
//{
// echo "<br>";
//echo $row['name'] . " " . $row['age'] . " " . $row['occupation'] ." " . $row['city'] . " " . $row['country'];
//echo "<br>";
//}
$name=$_POST['name'];
echo $name;
mysql_query("insert into pcnote (customername) values($name)") or die("sql执行失败" . mysql_error());
echo mysql_error();
}
mysql_close($con);
?>
</body>
</html>
请问是哪里没有设置好而出现了乱码?
谢了!
------解决思路----------------------
是页面出现中文乱码吧,看看是否这个原因
http://www.codes51.com/article/detail_8905.html
------解决思路----------------------
但你的程序文件是按 utf-8 保存的
gbk 页面中的
杩炴帴鎴愬姛你好sql鎵ц?澶辫触Unknown column '浣犲ソ' in 'field list'
切换到 utf-8 编码为
连接成功??óql执行失败Unknown column '你好' in 'field list'
但为何 customername 列会变成 你好 不得而知
可能是你贴错了代码
------解决思路----------------------
show create table pcnote; 看看。
$name 应为:'$name'