php连mssql 中文乱码,PHP连接MSSQL显示中文时为乱码_PHP教程

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

http://www.bkjia.com/PHPjc/869305.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/869305.htmlTechArticlePHP连接MSSQL显示中文时为乱码 PHP连接MSSQL显示中文时为乱码主要是因为编码问题了,我们只要懂得一对于数据库与页面的编码统一处理就可...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我愿意回答你的问题。关于Python连接数据库sql server的存储过程,可以使用Python库pymssql进行连接和执行相关操作。 下面是Python连接Mssql基础教程之Python库pymssql的介绍: 1. 安装pymssql库 在命令行中使用pip install pymssql命令进行安装。如果安装出现问题,可以通过以下命令进行安装: ``` pip install wheel pip install --upgrade setuptools pip install pymssql ``` 2. 连接数据库 使用pymssql连接数据库,可以使用以下代码: ```python import pymssql # 连接数据库 conn = pymssql.connect(host='localhost', user='username', password='password', database='db_name', charset='utf8') # 定义游标 cursor = conn.cursor() # 执行SQL语句 cursor.execute('SELECT * FROM table_name') # 获取结果 result = cursor.fetchall() # 关闭游标和连接 cursor.close() conn.close() ``` 其中,host是数据库的主机名或IP地址,user是登录用户名,password是登录密码,database是要连接的数据库名,charset是字符集。 3. 执行存储过程 使用pymssql库执行存储过程,可以使用以下代码: ```python import pymssql # 连接数据库 conn = pymssql.connect(host='localhost', user='username', password='password', database='db_name', charset='utf8') # 定义游标 cursor = conn.cursor() # 执行存储过程 cursor.callproc('procedure_name', ('param1', 'param2', ...)) # 获取结果 result = cursor.fetchall() # 关闭游标和连接 cursor.close() conn.close() ``` 其中,procedure_name是要执行的存储过程名,param1、param2等是存储过程的参数。 希望这些信息能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值