Heim  >  Artikel  >  php教程  >  PHP读取mssql json数据中文乱码的解决办法,

PHP读取mssql json数据中文乱码的解决办法,

WBOY
WBOYOriginal
2016-06-13 08:42:01746Durchsuche

PHP读取mssql json数据中文乱码的解决办法,

PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码)

当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示。

解决办法如下:

这样,sql server 2008中的中文就可以在网页正常显示了。

如果要将中文正常插入到sql server 2008中,还要加入一条代码:$query = iconv("utf-8", "gbk//ignore", $query);//为了解决中文乱码问题

完整代码如下 :

<&#63;php 
/**
* 如果员工编号在MySql中不存在则在MySql中插入员工记录
* 如果该员工编号已经存在则进行更新操作
*/
//如果用JSON格式则要使用text/html,不能使用text/xml
header("Content-Type: text/html;charset=utf-8");
// header("Content-Type: text/html;charset=GBK");
//告诉浏览器不要缓存数据
header("Cache-Control: no-cache");
require '../conn.php';
$seq = $_POST["seq"];
$employeeID = $_POST["employeeID"];
$employeeName = $_POST["employeeName"];
$department = $_POST["department"];
if(!isset($seq) || $seq == ""){//seq不存在则插入新记录
$query = "INSERT INTO employees (employeeID, employeeName, department, 
createTime, updateTime)
VALUES (N'$employeeID',N'$employeeName',N'$department', 
getdate(), getdate())";
}else{//如果seq已存在则更新已有记录
$query = "UPDATE employees SET employeeID='$employeeID', 
employeeName='$employeeName',department='$department',
updateTime=getdate() 
WHERE seq='$seq'";
}
// file_put_contents("E:/mylog.log", $query."\r\n",FILE_APPEND);//用于调试
<span style="color:#FF0000;">$query = iconv("utf-8", "gbk//ignore", $query);//为了解决中文乱码问题</span>
if($result = sqlsrv_query($conn, $query)){
echo true;
}else{
echo false;
}
// echo $query;
&#63;>

以上所述是小编给大家介绍的PHP读取mssql json数据中文乱码的解决办法,希望对大家有所帮助!

您可能感兴趣的文章:

  • php adodb连接mssql解决乱码问题
  • 探讨PHP JSON中文乱码的解决方法详解
  • PHP json_encode中文乱码问题的解决办法
  • thinkphp3查询mssql数据库乱码解决方法分享
  • php中json_encode处理gbk与gb2312中文乱码问题的解决方法
  • php中json_encode UTF-8中文乱码的更好解决方法
  • php查询mssql出现乱码的解决方法
  • PHP json_encode() 函数详解及中文乱码问题
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