php查询mssql出现乱码的解决方法

本文实例讲述了php查询mssql出现乱码的解决方法。分享给大家供大家参考。具体分析如下:

在php连接mssql时查询出来的全部是乱码,这种问题我根据经验知道是编码问题,下面来给各位总结一下解决方法.

方法一,修改php.ini文件,当然根据你页面情况来设置也可以是utf-8编码了,代码如下:

代码如下:

;mssql.charset = "ISO-8859-1"

mssql.charset = "GBK"

方法二,直接程序中转换,代码如下:

代码如下:

iconv('GB2312','UTF-8',$data)

方法三,利用Ado连接在连接时设置编码,代码如下:

代码如下:

$conn = new COM("ADODB.Connection", NULL, CP_UTF8) or die("Cannot start ADO");

PHP例子,代码如下:

代码如下:

<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8″>  
</head>  
<body>  
<?php  
//print("The next line generates an error.www.jb51.net<br>");  
//printaline("PLEASE?");  
//print("This will not be displayed due to the above error.");  
?>  
<?php  
$conn = new COM("ADODB.Connection", NULL, CP_UTF8) or die("Cannot start ADO");   
//access 数据库的打开方式  
//$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");  
//$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");  
$conn->Open("Driver={SQL Server};Server={192.168.22.40};Database=sugarcrm_db;UID=sa;PWD=123456;") ;   
// 执行查询并输出数据  
$rs = $conn->Execute('SELECT * FROM accounts') or die ("error query"); 
?>  
<table border="1″>  
<tr><th>ID</th><th>Title</th>  
</tr>  
<?php  
while (!$rs->EOF) {  
  echo '<tr>';  
  echo '<td>'. $rs->Fields['id']->Value .'</td>';  
  echo '<td>'. $rs->Fields['name']->Value .'</td>';  
  echo '</tr>';  
  $rs->MoveNext();  
}  
?>  
</table>  
<?php  
// 释放资源  
$rs->Close();  
$conn->Close();  
$rs = null;  
$conn = null;  
?>  
</body>  
</html>

总结:

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

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

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

四是:浏览器显示方式,添加meta属性<meta charset=utf-8>

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • php中PDO方式实现数据库的增删改查

    需要开启php的pdo支持,php5.1以上版本支持 实现数据库连接单例化,有三要素 静态变量.静态实例化方法.私有构造函数 DPDO.php class DPDO{ private $DSN; private $DBUser; private $DBPwd; private $longLink; private $pdo; //私有构造函数 防止被直接实例化 private function __construct($dsn, $DBUser, $DBPwd, $longLink = fals

  • PHP连接MSSQL方法汇总

    为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将 ;extension=php_mssql.dll前面的;去掉 1.连接MSSQL $conn=mssql_connect("实例名或者服务器IP","用户名","密码"); //测试连接 if($conn) { echo "连接成功"; } 2.选择要连接的数据库 mssql_select_db("dbname"

  • PHP封装的MSSql操作类完整实例

    本文实例讲述了PHP封装的MSSql操作类.分享给大家供大家参考,具体如下: <?php /*MSSql的操作类*/ class MSSql { var $link; var $querynum = 0; /*连接MSSql数据库,参数:dbsn->数据库服务器地址,dbun->登陆用户名,dbpw->登陆密码,dbname->数据库名字*/ function Connect($dbsn, $dbun, $dbpw, $dbname) { if($this->link

  • PHP的PDO操作简单示例

    本文实例讲述了PHP的简单PDO操作.分享给大家供大家参考,具体如下: 网上关于PDO的资料很多.这里就不累赘了. 这里我将PDO所有操作封装到一个类里方便操作. 类代码如下: class DB { //pdo对象 public $con = NULL; function DB() { $this->con = new PDO("mysql:host=127.0.0.1;dbname=dbtest", "root", "xxx", arra

  • 对PHP PDO的一些认识小结

    1.PDO(PHP Data Object)扩展为PHP定义了一个访问数据库的轻量.持久的接口.实现PDO接口的每一种数据库驱动都能以正则扩展的形式把各自的特色表现出来. 主要:PDO扩展只是一个抽象的接口层,利用PDO扩展本身并不能实现任何数据库操作,必须使用一个特定的数据库PDO驱动访问数据库 2.启动PDO方法:找到php.ini文件将 复制代码 代码如下: ;extension=php_pdo.dll 前的分号去掉即可(linux环境下类似) 3.PDO预定义类: PDO包含了三个预定义

  • 关于php连接mssql:pdo odbc sql server

    只有一个php_pdo_odbc.dll. so~最新最好的php连接mssql方法应该是这样: 复制代码 代码如下: <?php $cnx = new PDO("odbc:Driver={SQL Server};Server=127.0.0.1;Database=test;",'sa','asd123'); var_dump($cnx); $a = $cnx->query("SELECT * FROM [user]"); var_dump($a); f

  • php使用pdo连接mssql server数据库实例

    本文实例讲述了利用php的pdo来连接微软的mssql server数据库的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: $dsn = 'mssql:dbname=bookStore_demo;host=192.168.1.106'; $user = 'sa'; $password = '123';     //mssql_connect('192.168.1.106','sa','123');     //echo 22; try {        // echo 11

  • PHP的PDO常用类库实例分析

    本文实例讲述了PHP的PDO常用类库.分享给大家供大家参考,具体如下: 1.Db.class.php 连接数据库 <?php // 连接数据库 class Db { static public function getDB() { try { $pdo = new PDO(DB_DSN, DB_USER, DB_PWD); $pdo->setAttribute(PDO::ATTR_PERSISTENT, true); // 设置数据库连接为持久连接 $pdo->setAttribute(

  • php中数据库连接方式pdo和mysqli对比分析

    1)总的比较   PDO MySQLi 数据库支持 12种不同的数据库支持 支持MySQL API OOP OOP + 过程 Connection Easy Easy 命名参数 支持 不支持 对象映射支持 支持 支持 预处理语句  (客户端) 支持 不支持 性能 快 快 支持存储过程 支持 支持 2 连接方式 先来看下两者连接数据库的方式: 复制代码 代码如下: // PDO $pdo = new PDO("mysql:host=localhost;dbname=database",

  • php基于PDO连接MSSQL示例DEMO

    本文实例讲述了php基于PDO连接MSSQL的方法.分享给大家供大家参考,具体如下: <?php try { $hostname='117.79.93.222'; $port=1433;//端口 $dbname="csdn";//库名 $username="csdn_admin";//用户 $pw="123456";//密码 $dbh= new PDO("dblib:host=$hostname:$port;dbname=$dbn

  • php使用pdo连接sqlite3的配置示例

    本文实例讲述了php使用pdo连接sqlite3的配置方法.分享给大家供大家参考,具体如下: 刚刚开始使用php+sqlite 的时候,一直以为自己使用的是sqlite3 ,其实不是,php从php5 >=5.3.0 的时候才开始默认支持sqlite3 可参照官方文档http://www.php.net/manual/zh/sqlite3.open.php 默认的方法接口: public void SQLite3::open ( string $filename [, int $flags =

  • PHP中PDO的事务处理分析

    本文实例分析了PHP中PDO的事务处理.分享给大家供大家参考,具体如下: 事务处理具有四个特性:原子性.一致性.独立性.持久性. 并不是所有的数据库都支持事务处理的,PDO 为能够执行事务处理的数据库提供事务支持. 配置事务处理需注意: 1.关闭 PDO 的自动提交: $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false); 2.开启一个事务需要的方法: $pdo->beginTransaction(); // 开启一个事务 $pdo->commi

随机推荐