
php+mysql 程序 中文显示成???
mysql中数据库3个字段,其中一个为中文内容(姓名),建库的时候三个字段都设定为varchar类型正常连接数据库后,使用select语句对符合条件的记录进行输出,发现那...
mysql 中数据库3个字段,其中一个为 中文内容(姓名),建库的时候三个字段都设定为 varchar 类型
正常连接数据库后,使用select 语句对符合条件的记录进行输出,发现 那个中文内容的字段(姓名) 输出为 ??? 请问怎么处理。
另外,使用<input type="text" name="username" maxlength=26 size=18>语句接收 中文字段内容,再使用 select 语句 对数据库中中文字段内容进行对比查询,出错,感觉好象是 ???导致的,请问怎么处理。
1、index.php文件中部分内容:
<form method="post" action="xm.php" font-size: 13px">
姓 名:
<input type="text" name="username" maxlength=26 size=18>
<input class="button" type="submit" name="submit">
<input class="button" type="reset" name="reset">
2、xm.php文件内容
<?php
mysql_connect("localhost","root","123456");//连接数据库
mysql_select_db("`jjga`.`humaninfo`");//选择数据库
$name = $_POST['username'];
echo $name;
$sql="select * from `jjga`.`humaninfo` where `username`=$name";
$result=mysql_query($sql);
if($row = mysql_fetch_array($result)){
do{
print $row["idcode"];
print(" ");
print $row["username"];
print(" ");
print $row["onlinetime"];
print ("<p>");
}while($row = mysql_fetch_array($result));
}
else {print "没有找到符合的记录。";}
输入中文进行查询,直接出错:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
输入数字进行查询,不出错。 展开
正常连接数据库后,使用select 语句对符合条件的记录进行输出,发现 那个中文内容的字段(姓名) 输出为 ??? 请问怎么处理。
另外,使用<input type="text" name="username" maxlength=26 size=18>语句接收 中文字段内容,再使用 select 语句 对数据库中中文字段内容进行对比查询,出错,感觉好象是 ???导致的,请问怎么处理。
1、index.php文件中部分内容:
<form method="post" action="xm.php" font-size: 13px">
姓 名:
<input type="text" name="username" maxlength=26 size=18>
<input class="button" type="submit" name="submit">
<input class="button" type="reset" name="reset">
2、xm.php文件内容
<?php
mysql_connect("localhost","root","123456");//连接数据库
mysql_select_db("`jjga`.`humaninfo`");//选择数据库
$name = $_POST['username'];
echo $name;
$sql="select * from `jjga`.`humaninfo` where `username`=$name";
$result=mysql_query($sql);
if($row = mysql_fetch_array($result)){
do{
print $row["idcode"];
print(" ");
print $row["username"];
print(" ");
print $row["onlinetime"];
print ("<p>");
}while($row = mysql_fetch_array($result));
}
else {print "没有找到符合的记录。";}
输入中文进行查询,直接出错:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
输入数字进行查询,不出错。 展开
展开全部
这个问题一般是字符集不统一造成的。要彻底解决这个问题,请做好如下几个工作:
设编码统一为 utf8
1.数据库的编码。
建库或建表时,指定编码为 utf8
2.网页的编码设置为 utf-8 ---请注意这是不是 utf8 而是 utf-8
3.在连接完数据库,执行其它之前加一句 mysql_query("set names utf8");
经过这样处理,应该能够出来你要的结果了.
设编码统一为 utf8
1.数据库的编码。
建库或建表时,指定编码为 utf8
2.网页的编码设置为 utf-8 ---请注意这是不是 utf8 而是 utf-8
3.在连接完数据库,执行其它之前加一句 mysql_query("set names utf8");
经过这样处理,应该能够出来你要的结果了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,在数据库中插入中文字符的时候,应该把字符集设置成utf8。
其次,php文件链接数据库的语句之后添加如下语句
mysql_query("SET NAMES GBK");
这样插入的中文字符就不会显示???了。
正确的插入中文后,搜索中文自然不会出现问题。
其次,php文件链接数据库的语句之后添加如下语句
mysql_query("SET NAMES GBK");
这样插入的中文字符就不会显示???了。
正确的插入中文后,搜索中文自然不会出现问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这有两个问题:
1-显示中文时的???
这是显示部分的编码问题,在xm.php显示输出前加一行
echo header("Content-Type: text/html; charset=gb2312");
如果不可以,还要检查你的数据库编码,建表的时候选择utf8
2-报错的问题:
将这行语句
$sql="select * from `jjga`.`humaninfo` where `username`=$name";
改为
$sql="select * from `jjga`.`humaninfo` where `username`='".$name."'";
这可以防止sql的语法问题而且安全性更好
1-显示中文时的???
这是显示部分的编码问题,在xm.php显示输出前加一行
echo header("Content-Type: text/html; charset=gb2312");
如果不可以,还要检查你的数据库编码,建表的时候选择utf8
2-报错的问题:
将这行语句
$sql="select * from `jjga`.`humaninfo` where `username`=$name";
改为
$sql="select * from `jjga`.`humaninfo` where `username`='".$name."'";
这可以防止sql的语法问题而且安全性更好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看下数据库的编码是不是中文编码,不是就改成中文编码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询