Heim >php教程 >php手册 >php查询mssql出现问号(中文乱码)解决方法

php查询mssql出现问号(中文乱码)解决方法

WBOY
WBOYOriginal
2016-05-25 16:38:181909Durchsuche

在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.phprm.com<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(&#39;SELECT * FROM accounts&#39;) or die("error query");
?>   
<table border="1″>   
<tr><th>ID</th><th>Title</th>   
</tr>   
<?php
while (!$rs->EOF) {
    echo &#39;<tr>&#39;;
    echo &#39;<td>&#39; . $rs->Fields[&#39;id&#39;]->Value . &#39;</td>&#39;;
    echo &#39;<td>&#39; . $rs->Fields[&#39;name&#39;]->Value . &#39;</td>&#39;;
    echo &#39;</tr>&#39;;
    $rs->MoveNext();
}
?>   
</table>   
<?php
// 释放资源
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?>   
</body>   
</html>

总结:

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

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

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

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn