php页面往mysql里面中文显示乱码,我是用appserv-win32-2.5.10集成环境的,默认utd8,但中文全乱码。
刚装完appserv,字符集默认是utf8。<?php//header("Content-type:text/html;charset=gb2312");$mysqli=...
刚装完appserv,字符集默认是utf8。
<?php
//header("Content-type: text/html; charset=gb2312");
$mysqli =@new mysqli('localhost','root','6579972','tribune2');
//mysql_query("SET NAMES GBK");
$sql="insert into t_users (name) values ('梁先生')";
//$sql='select * from t_users';
$result=$mysqli -> query($sql);
$rows=$result-> fetch_assoc();
$row=$result-> num_rows;
for($i=0;$i< $row;$i++){
echo $rows['name'];
}
$mysqli -> close();
?>
但在数据库了中文变成了乱码,就算换了head也不行,用utf-8时文件格式是utf-8无bom
,也用gk2312+ansi格式试过也不行。
表的字符集试过gbk_chinese_ci,也试过utf8_general_ci,但无论怎么搞查看到的中文书籍就算乱码。但用gb2312字符集可以在页面输出中文,utf8输出还是乱码。 展开
<?php
//header("Content-type: text/html; charset=gb2312");
$mysqli =@new mysqli('localhost','root','6579972','tribune2');
//mysql_query("SET NAMES GBK");
$sql="insert into t_users (name) values ('梁先生')";
//$sql='select * from t_users';
$result=$mysqli -> query($sql);
$rows=$result-> fetch_assoc();
$row=$result-> num_rows;
for($i=0;$i< $row;$i++){
echo $rows['name'];
}
$mysqli -> close();
?>
但在数据库了中文变成了乱码,就算换了head也不行,用utf-8时文件格式是utf-8无bom
,也用gk2312+ansi格式试过也不行。
表的字符集试过gbk_chinese_ci,也试过utf8_general_ci,但无论怎么搞查看到的中文书籍就算乱码。但用gb2312字符集可以在页面输出中文,utf8输出还是乱码。 展开
2个回答
展开全部
弟一点:所有页面编码都要保持一致;
第二点:数据库编码与页面编码要保持一致
第三点:
这句话<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
要和文件的编码一致
第四点:mysql_query("SET NAMES GBK");这句是设置数据是以哪种编码形式查询,添加,修改的,也要与以上保持一致,基本就不会出现乱码了
//header("Content-type: text/html; charset=gb2312");
其实只设置header没用,同时要改变文件的编码
第二点:数据库编码与页面编码要保持一致
第三点:
这句话<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
要和文件的编码一致
第四点:mysql_query("SET NAMES GBK");这句是设置数据是以哪种编码形式查询,添加,修改的,也要与以上保持一致,基本就不会出现乱码了
//header("Content-type: text/html; charset=gb2312");
其实只设置header没用,同时要改变文件的编码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询