php查询mssql出现乱码的解决方法
《:php查询mssql出现乱码的解决方法》要点: PHP学习本篇章节讲解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.aspzz.cn<br>");?? //printaline("PLEASE?");?? //print("This will not be displayed due to the above error.");?? ?>?? <?php?? $conn = new COM("ADODB.Connection",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程序设计有所赞助. 欢迎参与《:php查询mssql出现乱码的解决方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |