永发信息网

PHP的数据库显示中文乱码有几种情况?

答案:2  悬赏:70  手机版
解决时间 2021-05-02 11:32

我的数据库配置文件是用gb2312的,还有网页上的字符集也是这个;为什么连接到数据库还会出现乱码?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>无标题文档</title>
</head>

<body>
<?php if(!isset($_POST["button"])){?>
<form id="form1" name="form1" method="post" action="">
<table width="323" height="210" border="1" bgcolor="#FFFF66">
<tr>
<td width="88"><div align="left">用户名:</div></td>
<td width="219"><div align="left">
<label>
<input type="text" name="username" id="textfield" />
</label>
</div></td>
</tr>
<tr>
<td><div align="left">密码:</div></td>
<td><div align="left">
<label>
<input type="password" name="pwd" id="textfield2" />
</label>
</div></td>
</tr>
<tr>
<td><div align="left">重复密码:</div></td>
<td><div align="left">
<input type="password" name="textfield3" id="textfield3" />
</div>
<label></label></td>
</tr>
<tr>
<td><div align="left">姓名:</div></td>
<td><div align="left">
<label>
<input type="text" name="name" id="textfield4" />
</label>
</div></td>
</tr>
<tr>
<td><div align="left">E-Mail:</div></td>
<td><div align="left">
<label>
<input type="text" name="email" id="textfield5" />
</label>
</div></td>
</tr>
<tr>
<td colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <label>
<input type="submit" name="button" id="button" value="提交" />
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" name="button2" id="button2" value="重置" />
</label></td>
</tr>
</table>
</form>
<?php }else{
date_default_timezone_set(Shanghai);
$filename=basename($_SERVER["SCRIPT_FILENAME"]);
$username=$_POST["username"];
$pwd=$_POST["pwd"];
$name=$_POST["name"];
$email=$_POST["email"];
$lasttime=$_POST[date("Y-m-d",fileatime($filename))];
echo $lasttime;

$db = @new mysqli("localhost", "root", "123456"); //调用mysqli的构造函数建立连接, $db为对象型变量
If (mysqli_connect_errno()) //检查连接是否成功,mysqli_connect_errno()函数返回连接失败的错误编号。
{
echo "连接数据库失败!";
}
$db-> select_db("test");
$sql = "SELECT * FROM t_user WHERe f_username='$username'";
$rs = $db->query($sql);
if ($rs && $rs->num_rows > 0) // num_rows的值为执行查询后受影响的行数。
{
echo "用户名已存在!";
}
$sql = "INSERT INTO t_user (f_username,f_password,f_name,f_email,f_lasttime) VALUES";
$sql .= "('$username','$pwd','$name','$email','$lasttime')";
$rs = $db->query($sql);
if (!$rs){
echo "添加记录失败!";
}
else {
echo "添加记录成功!";
}
$db->close();
echo "$username";
}?>
</body>
</html>

最佳答案

数据库GBK 操作方式GBK 保存文件GBK浏览器GBK 则为正常!


数据库UTF8操作方式GBK 保存文件GBK浏览器GBK 则为正常!


数据库UTF8操作方式UTF8 保存文件UTF8浏览器UTF8则为正常!


这三种情况,我测试过,都正常,其它情况乱码,或不可识别!


在执行mysql_query($sql)前,请指定操作数据库使用何种编码。楼上所说的:mysql_query("set names gbk");

全部回答
加上 mysql_query("set names gbk");
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
你们觉得非主流怎样
一项工程 甲单独做20天完成乙单独做要30天完
怎么关闭电脑屏幕休眠,怎么设置电脑不关屏幕
联华名城店怎么去啊,有知道地址的么
蓝色皮质裙子配什么鞋子啊
谁能给个免费VB编程软件?
苏州三星家电场子怎么样 待遇如何 都干什么?
我的问问-SOUSOU问问提交回答有时还要登录提
早晨3点多到4点叫什么时辰?
我宝宝出生十几天了一直喝奶粉他尿的尿味道很
瑞能电源地址有知道的么?有点事想过去
分开了不知道是怎样???
为什么一坐在公交车上就想睡觉
男性危机杂解决
红豆商标的那个D是什么字体
推荐资讯
刚刚到达英语怎么说,刚刚过去的昨天,怎么用
电脑网页错误,视频也看不了怎么办啊?
白虎套在那里换啊?
关闭QQ空间应用?
脑筋急转弯—— 一只乌龟
谁给我个百度帐号
诺鸡鸭5530XM怎么样?准备买的、是买行货好还
睫毛生长液对眼部有害吗
DNF天空套问题.
江北园丁苑在哪里啊,我有事要去这个地方
怎样去了解自己的男朋友?
口口香刀削面地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?