这篇文章主要讲解了“如何解决thinkphp3查询mssql数据库乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决thinkphp3查询mssql数据库乱码问题”吧!
thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码
解决方法:
1:在ThinkPHP\Lib\Core 打开Db.class.php,在其最后面加上
2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result=iconv2utf8($result),就OK了
复制代码 代码如下:
public function iconv2utf8($Result) {
$Row=array();
$key1=array_keys($Result); //取查询结果$Result的数组的键值
//print_r($key1);
$key2=array_keys($Result[$key1[0]]);
//取查询结果$Result的第一个数组($key1[0])的键值
//print_r($key2);
for($i=0;$i<count($key1);$i++) {
for($j=0;$j<count($key2);$j++) {
//取查询结果编码改为UTF-8,并存入$Row,且$Row与$Result键与值一致
$Row[$key1[$i]][$key2[$j]]=iconv('gb2312','utf-8',$Result[$key1[$i]][$key2[$j]]);
}
}
retrun $Row;
}
感谢各位的阅读,以上就是“如何解决thinkphp3查询mssql数据库乱码问题”的内容了,经过本文的学习后,相信大家对如何解决thinkphp3查询mssql数据库乱码问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。