php连接mssql显示中文时为乱码
来源: 阅读:796 次 日期:2016-06-16 09:11:52
温馨提示: 小编为您整理了“php连接mssql显示中文时为乱码”,方便广大网友查阅!

php连接mssql显示中文时为乱码主要是因为编码问题了,我们只要懂得一对于数据库与页面的编码统一处理就可以解决了,下面一起来看看下文。

因为一直在使用 windows 下的 php 开发,用的是 mysql 数据库,偶尔也会遇到查询记录的乱码,那是因为 php 编码不支持中文进行导致的,直接将其进行编码解码即可解决,所以在 windows 平台下还是比较容易解决的。

今天在帮一个客户进行 liunx 下维护 mssql 数据库的操作,因站点被攻击的原因,一直无法进行打开站点,折腾了很久,终于连接上mssql了,今天来了尝试下查询,么问题!

可是出来的记录 中文 显示是?号或者就是一堆黑框框,这是典型的编码不对,于是查看了下php.ini关于mssql的这一块配置,发现有一项配置”mssql.charset”这一项,我配置成 “utf8”,成功解决乱码。

因为我的程序页面用的是utf8所以配置成这样,如果是gbk/gb2312 就配置长相应的编码就应该能解决,当然遇到这样的问题还是要看相应情况的,这里还是建议如果能修改配置文件尽可能的去修改配置文件,因为这样才能一劳永逸的解决掉问题。

例子

代码如下:

$servername = 127.0.0.1,1433;

$connectioninfo = array( uid=>sa,

pwd=>123456,

database=>nopcommerce,

characterset=>utf-8); // 这一行是重点

$conn = sqlsrv_connect($servername, $connectioninfo);

注意事项:

编码常用的是utf8-general-ci

不只是表要统一,要统一的总共有四处

一是:数据库类型,其中包括,数据库,表,字段三处都要统一,可以检查一下

二是:文件的编码类型,你若用dw或editplus可以查看页面编码,不同需修改

三是:访问数据库时的设置既set names utf8;

四是:浏览器显示方式,添加meta属性

不管用gbk,gb2312,这四处必须统一,看你缺少了哪一步

用php操作mssql比在asp连接mysql要简单,所以,当需要mssql与mysql并存时,用php连接mssql来操作mysql与mssql并存比较简单好用.如果是asp连接mysql,需要安装一个mysql驱动,默认windows的odbc没有安装,很遗憾...

1.在web服务器上至少安装了mssql的客户端

2.打开php.ini把;extension=php_mssql.dll前面的分号去掉

有必要话:需要制定extension_dir

3.推荐使用php<=4.0.9<=5.0.3目前我还没有连接成功过4.010和5.0.3

4.数据库的连接分页可以到phpe.net上获取到相应的class

更多信息请查看 网页制作
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 加入群交流| 手机站点| 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
map