Home >Backend Development >PHP Tutorial >About the solution to Chinese garbled Chinese characters when reading mssql json data with PHP

About the solution to Chinese garbled Chinese characters when reading mssql json data with PHP

墨辰丷
墨辰丷Original
2018-06-04 09:32:351672browse

PHP and web pages use UTF-8 encoding. The database is sql server2008 and uses the default encoding. When reading database data, use the json_encode() that comes with PHP to return to the front end. The results will not be displayed in Chinese. Below, the editor of Script House will introduce to you the solution to PHP reading Chinese garbled mssql json data. Friends who need it can learn together

PHP and web pages use UTF-8 encoding. The database is sql server2008 and uses the default encoding ( 936, which is GBK encoding)

When reading database data, use the json_encode() that comes with PHP to return to the front end, and the result will not be displayed in Chinese.

The solution is as follows:

In this way, the Chinese in sql server 2008 can be displayed normally on the web page.

If you want to insert Chinese into sql server 2008 normally, you also need to add a code: $query = iconv("utf-8", "gbk//ignore", $query);/ /In order to solve the problem of Chinese garbled characters

The complete code is as follows:

<?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 &#39;../conn.php&#39;;
$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&#39;$employeeID&#39;,N&#39;$employeeName&#39;,N&#39;$department&#39;, 
getdate(), getdate())";
}else{//如果seq已存在则更新已有记录
$query = "UPDATE employees SET employeeID=&#39;$employeeID&#39;, 
employeeName=&#39;$employeeName&#39;,department=&#39;$department&#39;,
updateTime=getdate() 
WHERE seq=&#39;$seq&#39;";
}
// 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;
?>

Summary: The above is the entire article Content, I hope it will be helpful to everyone’s study.

Related recommendations:

phpMethods and meanings of implementing the singleton pattern

phpMethod to implement image uploading and cutting functions based on CodeIgniter

##php metaphone() function and php Detailed explanation of localeconv() function example

The above is the detailed content of About the solution to Chinese garbled Chinese characters when reading mssql json data with PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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
Previous article:laravel5.5 installationNext article:laravel5.5 installation