用php将中文写入mysql,在phpmyadmin中查看显示为乱码,求解决方法!!

如果在mysql命令行界面插入中文在phpmyadmin中就显示正常,<?phpheader("Content-Type:text/html;Charset=UTF-8"... 如果在mysql命令行界面插入中文在phpmyadmin中就显示正常,
<?php
header("Content-Type:text/html;Charset=UTF-8");
$keyword="20112897+网络无法连接";
$token = strtok($keyword, "+");
$i=0;
while ($token != false)
{
$records[$i]=$token;
$token = strtok("+");
$i++;
}
$mysqli = mysqli_connect("localhost","root","","test");

if(mysqli_connect_errno()){
printf("Connect failed: %s\n",mysqli_connect_error());
exit();
}else{

mysql_query("set names utf8");
$sql="INSERT INTO nametable (number,name)VALUES('$records[0]','$records[1]')";
//mysql_query("set names utf8");
$res=mysqli_query($mysqli,$sql);
//mysql_query("SET NAMES UTF8");
if($res===TRUE){
echo "A record has been inserted.";
}else{
printf("Could not insert record :%s\n",mysqli_error($mysqli));
}
mysqli_close($mysqli);
}
?>
我用的是xampp集成环境,这是我的代码
如果在用php读出来 之前用php写进去的显示正常 而在mysql命令行添加的显示为???
展开
 我来答
lujian863
2013-03-18 · TA获得超过219个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:286万
展开全部
在命令行添加的时候,如果是Windows系统,默认是GBK的,所以你先在命令行里面执行一句 set names utf8;
再添加,这样,在phpmyadmin中看就不是乱码了。
多学点编码的知识。
陆柏均k1k2
2013-03-16
知道答主
回答量:5
采纳率:0%
帮助的人:3.2万
展开全部
查看一下数据库的数据类型是不是UTF类型的。可能是数据库的类型和传入数据的类型不匹配所以显示为乱码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轩雅楼亭
2013-03-20
知道答主
回答量:5
采纳率:0%
帮助的人:7467
展开全部
mysql>set names gbk;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式