时间:2021-05-26
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;
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php查询mssql出现乱码的解决方法。分享给大家供大家参考。具体分析如下:在php连接mssql时查询出来的全部是乱码,这种问题我根据经验知道是
本文实例讲述了php读取mssql的ntext字段返回值为空的解决方法。分享给大家供大家参考。具体分析如下:今天在使用php连接mssql数据库时发现ntext
对于乱码这个问题php开发者几乎都会有碰到过,我们下面主要是介绍了phpmysql数据库连接时乱码解决方法。MYSQL数据库使用UTF-8编码的问题1.用php
本文实例讲述了PHP使用PDO操作数据库的乱码问题解决方法。分享给大家供大家参考,具体如下:当使用PDO连接操作数据库的时候,有时会出现:保存在数据库中的汉字为
错误载图解决方法:1.直接把己有数据库复制到sql安装目录下C:/ProgramFiles/MicrosoftSQLServer/MSSQL10.MSSQLSE