php adodb连接mssql解决乱码问题


Posted in PHP onJune 12, 2009

周海汉/文
ADO可以用 new COM("ADODB.Connection", NULL, CP_UTF8)//65001 这样的语句来实现正确转换。但ADO对php的支持缺乏文档。而有个开源的adodb,文档较为丰富。
其中对不同数据库驱动,设置UTF-8的方法还不一样,如下:

For all drivers 
'persist', 'persistent', 'debug', 'fetchmode', 'new' 
Interbase/Firebird 
'dialect','charset','buffers','role' 
M'soft ADO 
'charpage' 
MySQL 
'clientflags' 
MySQLi 
'port', 'socket', 'clientflags' 
Oci8 
'nls_date_format','charset' 
For all drivers 
'persist', 'persistent', 'debug', 'fetchmode', 'new' 
Interbase/Firebird 
'dialect','charset','buffers','role' 
M'soft ADO 
'charpage' 
MySQL 
'clientflags' 
MySQLi 
'port', 'socket', 'clientflags' 
Oci8 
'nls_date_format','charset'

其中,Ado可以使用charPage这个属性来设置uft-8,类似new COM的方式。但发现当将AdoNewConnection($dbdriver)的$dbdriver设为'ado'或'ado_mssql'时,其传进去的database被替换为provider。那database的名字如何设置呢?一直没找到办法。
$dbdriver='ado://sa:cvttdev@172.16.22.40/sqloledb?charpage=65001';
其格式是'driver://user:passwd@host/database?options[=value]
但没解决设置数据库名字的地方。
痛苦了很久,只能找到如下的办法解决:
<html> 
<head> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 
</head> 
<body> 
<?php 
$dbdriver='ado_mssql'; 
$server='192.168.22.40'; 
$user='sa'; 
$password='passwd'; 
$DATABASE='sugarcrm_db'; 
$database='sqloledb'; 
//$dbdriver='ado://sa:cvttdev@172.16.22.40/sqloledb?charpage=65001'; 
$myDSN="PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER={172.16.22.40};DATABASE=sugarcrm_db;UID=sa;PWD=cvttdev;"; 
include('adodb5/adodb.inc.php'); 
$db = ADONewConnection($dbdriver); # eg 'mysql' or 'postgres' 
$db->debug = true; 
$db->charPage =65001; 
//$db->Connect($server, $user, $password, $database); 
$db->Connect($myDSN); 
//error:mssql server not support codes below 
//$db->Execute("set names 'utf8'"); 
echo "before query"; 
$rs = $db->Execute('select * from accounts'); 
print "<pre>"; 
print_r($rs->GetRows()); 
print "</pre>"; 
?> 
</body> 
</html>
PHP 相关文章推荐
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
php实现mysql封装类示例
May 07 PHP
php修改指定文件后缀的方法
Sep 11 PHP
PHP框架Laravel的小技巧两则
Feb 10 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 #PHP
php MsSql server时遇到的中文编码问题
Jun 11 #PHP
php 分页类 扩展代码
Jun 11 #PHP
PHP 输出简单动态WAP页面
Jun 09 #PHP
Windows PHP5和Apache的安装与配置
Jun 08 #PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 #PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 #PHP
You might like
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
smarty内置函数section的用法
2015/01/22 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
PHP程序员不应该忽略的3点
2015/10/09 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
Python中使用logging模块打印log日志详解
2015/04/05 Python
python 统计代码行数简单实例
2017/05/04 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
windows下python安装pip方法详解
2020/02/10 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
《分一分》教学反思
2014/04/13 职场文书
食品安全标语
2014/06/07 职场文书
2015年班组长工作总结
2015/04/10 职场文书