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

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

WBOY
Release: 2016-05-25 16:38:18
Original
1902 people have browsed it

在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>
Copy after login

总结:

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

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

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

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


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template