欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

界面显示出现乱码,该怎么解决

程序员文章站 2024-01-01 13:31:04
...
界面显示出现乱码

我的查询语句是:
mysql_query("SET NAMES UTF8");
//如果数组的元素个数为1个,则按单个条件进行查询
if(count($newstr)==1){
$sql = "select * from commodity where commodity_name like '%".$newstr[0]."%' or Sale_Address like '%".$newstr[0]."%'order by id desc ";
}
else{
//合并查询结果集
for($i=0;$i $sql0.=" commodity_name like '%".trim($newstr[$i])."%'"." or";
}
for($j=0;$j $sql1.=" Sale_Address like '%".trim($newstr[$j])."%'"." or";
}
$sql1=substr($sql1,0,-3); //去掉最后一个“or”
$sql="select * from commodity where".$sql0.$sql1." order by id desc";
}
require_once("common/db_mysql.class.php");
$DB= new DB_MySQL;
//得到总记录数

$DB->query($sql);
$row_count_sum = $DB->get_rows();//返回结果集中记录的行数
//每页记录数,可以使用默认值或者直接指定值
$row_per_page = 6;
//总页数
$page_count = ceil($row_count_sum/$row_per_page);
//判断是否为第一页或者最后一页
$is_first = (1 == $page_num) ? 1 : 0;
$is_last = ($page_num == $page_count) ? 1 : 0;
//查询起始行位置
$start_row = ($page_num-1) * $row_per_page;
//为SQL语句添加limit子句
$sql .= " limit $start_row,$row_per_page";
//执行查询
$DB->query($sql);
$res = $DB->get_rows_array();//返回结果集记录组成的数组
//结果集行数
$rows_count=count($res);

for($i=0;$i $id=$res[$i]['id']; //ID号
$title=$res[$i]['commodity_name']; //标题
$content = $res[$i]['Sale_Address']; //内容
echo $id.$title."**".$content."&&";
}


当我运行正常时结果是:62凤飞飞**多大&&61ssssss**ssss&&60哈哈哈**反反复复&&59嗯嗯嗯**嗯嗯嗯&&
但是偶尔会出现异常结果:62???**??&&61ssssss**ssss&&60???**????&&59???**???&&
我尝试着改浏览器的兼容性,有时候能恢复正常,有时候怎么改都没用,请问这是什么情况?在代码中能处理这种情况么
(以上代码有两个自定义函数,如果大家觉得有必要我再贴出来) 谢谢大家帮忙

------解决方案--------------------
PHP code
#PHP页面开头加上header("content-type:text/html;charset:utf-8");
------解决方案--------------------
数据库是什么编码? php文件又是什么编码? 统一后一般都没有问题.
------解决方案--------------------
还有一个可能,你的编辑器有问题!你是不是从原来gb2312改成utf-8的

------解决方案--------------------
我有遇到过的,导出来,导进去(另外的框架),全是??????之类的,如果是自己重新添加,那么就全是正常的
界面显示出现乱码,该怎么解决

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


上一篇:

下一篇: