php中文登录
用php登录网页,发现用英文用户名可以登录。用中文的不能登录。。。求救代码如下:<?phpheader('Content-Type:text/html;charset=u...
用php登录网页,发现用 英文用户名 可以登录。用中文的不能登录。。。求救
代码如下:
<?php
header('Content-Type:text/html;charset=utf-8');
//连接服务器、数据库
$host = "127.0.0.1"; $user = "root"; $pwd = "123456";
$db_name = "ledian";
//连接数据库服务器
$conn = mysql_connect($host, $user, $pwd) or
die("连接数据库服务器失败!".mysql_error());
//连接数据库
mysql_select_db($db_name, $conn) or
die("连接数据库失败!".mysql_error());
//数据表的字段为中文时,进行代码转化
mysql_query("set names 'gb2312'");
$username = $_POST['user'];
$userpwd = $_POST['pwd'];
if(!empty($username) and !empty($userpwd)){
$cmd = "select * from tuser where user='".$username."' and pwd='".$userpwd."';";
$data = mysql_query($cmd);
$row = mysql_fetch_row($data);
if(!$row){
echo '登录失败!';
exit;
}else{
echo 'Hello! '.$username;
}
}
?> 展开
代码如下:
<?php
header('Content-Type:text/html;charset=utf-8');
//连接服务器、数据库
$host = "127.0.0.1"; $user = "root"; $pwd = "123456";
$db_name = "ledian";
//连接数据库服务器
$conn = mysql_connect($host, $user, $pwd) or
die("连接数据库服务器失败!".mysql_error());
//连接数据库
mysql_select_db($db_name, $conn) or
die("连接数据库失败!".mysql_error());
//数据表的字段为中文时,进行代码转化
mysql_query("set names 'gb2312'");
$username = $_POST['user'];
$userpwd = $_POST['pwd'];
if(!empty($username) and !empty($userpwd)){
$cmd = "select * from tuser where user='".$username."' and pwd='".$userpwd."';";
$data = mysql_query($cmd);
$row = mysql_fetch_row($data);
if(!$row){
echo '登录失败!';
exit;
}else{
echo 'Hello! '.$username;
}
}
?> 展开
1个回答
2014-04-24
展开全部
你文件用utf8., 数据库用gb2312
你说能登录上吗???
php mysql 编码统一!
才不易出现中文乱码或者其他等等问题!
中文在不同编码下, 字节是不同的!
而英文和数字,则不存在编码问题!
你说能登录上吗???
php mysql 编码统一!
才不易出现中文乱码或者其他等等问题!
中文在不同编码下, 字节是不同的!
而英文和数字,则不存在编码问题!
更多追问追答
追问
大神,那我该怎么弄啊,我是新手,求指导
数据库是用 gb2312 编码的
那我该修改哪儿啊
追答
你数据库用gb2312, 那就php文件也用gb2312
当然,如果你非要这么用,也不是不可以,那你在查询数据库之前,先把字符串给转换成gb2312编码
php本身有这个函数,不过我忘记怎么写了,你自己百度一下就好啊!
更当然,世界上估计没有人会用后一种方法,那叫画蛇添足。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询