项目的各环节编码如下:
1.ThinkPHP默认为UTF-8
2.ThinkPHP的模板文件使用的编码UTF-8
3.数据库是简体中文版,存储的是GB2312编码
根据这些可以分析出乱码是因为编码不一致导致的。现在就是要将从数据库中取出的结果从GB2312转为UTF-8即可。
查询了TP的手册发现其有个内置的函数auto_charset。
在DbMssql类中的getAll方法中将代码:
- $result[] = $row;
修改为:
- $result[] = auto_charset($row, gb2312, utf8)
转载于:https://blog.51cto.com/shane/778074