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程序设计有所帮助。

时间: 2024-12-21 22:05:57

php查询mssql出现乱码的解决方法的相关文章

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

本文实例讲述了php查询mssql出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 在php连接mssql时查询出来的全部是乱码,这种问题我根据经验知道是编码问题,下面来给各位总结一下解决方法. 方法一,修改php.ini文件,当然根据你页面情况来设置也可以是utf-8编码了,代码如下: 复制代码 代码如下: ;mssql.charset = "ISO-8859-1" mssql.charset = "GBK" 方法二,直接程序中转换,代码如下: 复制代码

CMD下查询Mysql中文乱码的解决方法

  今天在CMD下登陆Mysql执行select查询指令,结果中文全部变成"???"问号乱码了,解决方法很简单,直接在mysql>下输入 set names gbk; 即可解决问题. 原理不多说了,反正现在的人只要解决了问题就不会深究原因了...

thinkphp3查询mssql数据库乱码解决方法

 这篇文章主要介绍了thinkphp3查询mssql数据库乱码解决方法,需要的朋友可以参考下 thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码   解决方法:   1:在ThinkPHPLibCore 打开Db.class.php,在其最后面加上 2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result

js传值后台中文出现乱码的解决方法_javascript技巧

本文实例讲述了js传值后台中文出现乱码的解决方法.分享给大家供大家参考,具体如下: 在"test.jsp"页面中,需要通过js将值传递到后台,后台根据传递的值进行数据查询时,通过test.jsp的js进行编码(标注部分的代码),后台Java解码(注释标注部分为解码),可以解决 test.jsp: <script type="text/JavaScript" charset="UTF-8"> function test() { //下面

MathType数学符号显示乱码的解决方法

Word和MathType可以完美兼容,但有时在Word中使用MathType编辑公式时,遇到输入的数学符号变成乱码的情况,那么该如何解决此问题呢?以下教程详解解决Word中MathType数学符号乱码的问题. 解决方法的具体步骤如下: 1.双击在Word中有显示问题的数学公式,这时MathType公式编辑器会自动启动. 2.在公式编辑器的界面中单击"样式"菜单下的"定义"选项. 在样式菜单下选择定义选项 3.在弹出的"定义样式"对话框中,点选&

使用Wordpress插件时出现中文乱码的解决方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 用wordpress建网站的好处就在于,可以使用N多主题和N多的插件,由于wordpress在国外的使用时期较长,很多插件都是国外的用户开发的.对于中文的支持不是很好.经常使用WP一定会遇到插件编码问题,今天影子给大家讲一下关于使用wordpress插件时出现中文乱码的解决方法. 一.起因: 今天就遇到一个插件,输入中文后,保存,查看,显示输

jsp页面传参乱码的解决方法

 本篇文章主要是对jsp页面传参乱码的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 jsp页面传参乱码的解决方法   jsp页面js:   encodeURIComponent要使用两次 encodeURIComponent(encodeURIComponent(userAccount));   java: String  userAccount = java.net.URLDecoder.decode(userAccount,"UTF-8");/*需要处理异常*/

ajax提交到servelt获取参数有乱码的解决方法

 这篇文章主要介绍了ajax提交到servelt获取参数有乱码的解决方法,需要的朋友可以参考下 在这里,假设读者了解基本的    ajax    技术或更多.我仅仅阐述一个现象,一个解决方法:原因.    原理,同样不清楚    --    我们先从简单的着手,    servlet传值到JSP页面js    脚本中,利用脚本将相关值显示在页面.解决这个方向(servlet--javascript)的中文乱码问题很简单.只需要在    servlet中,添加一个    编码设置:   代码如下:

ajax请求乱码的解决方法

这篇文章主要介绍了ajax请求乱码的解决方法(中文乱码),需要的朋友可以参考下 今天遇到一个问题,有关ajax请求中传输中文,遇到乱码的问题.   如下代码: 代码如下: function UpdateFolderInfoByCustId(folderId, folderName, custId) {     $.ajax({         type: "Post",         contentType: "application/x-www-form-urlencod