解决wordpress调用discuz社区最新主题帖子乱码问题

近日,想通过首页调用下discuz的最新帖子,虽然discuz提供了比较好用的js外部调用,但是效果实在欠佳!主要是咱们做网站考虑的是SEO,弄个JS对搜索引擎实在不友好,因此多番寻找之下,终于找到了合适的代码。
但是测试后发现,乱码竟然出现了….
源代码已经做了UTF8字符转换,数据库和表都没问题,这是为什么呢?
后结合某君的一篇IIS下数据库乱码的文章,对输出字符串进行了强化转换,修改源代码后,终于成功!
个人微信:93547942 欢迎添加交流!

<?php
//截取utf8字符串
function utf8Substring($str, $from, $len){
return preg_replace(‘#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$from.’}’.
‘((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$len.’}).*#s’,’$1′,$str);
}
//建立数据库链接
$conn = @mysql_connect(“localhost”, “数据库名”, “数据库密码”) or die(“数据库链接错误”);
//指定要链接的数据库
mysql_select_db(“数据库名”, $conn);
//使用UTF-8中文编码;
mysql_query(“set names ‘UTF-8′”);
mysql_query(“SET CHARACTER_SET_CLIENT=utf8”);
mysql_query(“SET CHARACTER_SET_RESULTS=utf8”); //这两句是新加的
//指定版块的所有文章中取10条最新帖子
$SQL=”SELECT tid,subject FROM pre_forum_thread where fid in (2,39,40,42,44) ORDER BY tid DESC LIMIT 0,10″;
$query=mysql_query($SQL);
//循环显示结果
while($row=mysql_fetch_array($query)){
echo “<li><a title=”.$row[subject].” href=http://o2o.yantailao.com/thread-“.$row[tid].”-1-1.html target=_blank>”.
utf8Substring($row[subject], 0, 30).”</a></li>”;
}
//关闭链接
mysql_close($conn);
?>

1、本站部分内容由用户自行上传分享,仅供分享学习交流,未经上传用户或原创作者书面授权,请勿作他用或商用。
2、具体内容发布者信息,可以通过文章底部左下角“头像”区域查看。
3、本站对所有发布信息一律经过审核后发布,但因版权以及作者信息追溯复杂,并没有相关可追溯查源系统;我站只能尽己方之力进行审核,并号召大家尊重版权,希望原创作者发现后第一时间联系我站进行删除处理。
4、我站要求外来转发或者分享信息务必保留来源等相关信息,希望得到原创作者的鼓励和认可;帮助您获得更多用户的认可。
5、未尽事宜,请联系微信:93547942 菠菜哥,协商处理。
砚台酪-18年致力于帮助实体商家、企业更低成本、更高效的做好互联网营销推广!! » 解决wordpress调用discuz社区最新主题帖子乱码问题