我在将一个aspx+mssql的系统做成php+mssql的系统时,感觉架构大不一样,aspx多是aspx页面+aspx.cs后台协同开发,多用可视化空间开发,而php我则选用了smarty模板,感觉很好用,一切都在自己掌握之中,开源的就是好。但是在期间使用mssql extention的时候遇到了中文乱码问题:
mssql默认使用GB2312编码,而php使用UTF-8,能Google到的解决方案很少,但是却很简单:
简单的说就是使用iconv函数就ok了:
1、执行sql语句前,使用$sql=iconv(‘utf-8‘,‘GB2312//IGNORE‘,$sql)转换一个$sql的编码就ok了;
2、对于取出来的中文字段值,要使用$field=iconv(‘GB2312‘,‘utf-8‘,$field)转换。
这样乱码就解决了!!!