Heim  >  Artikel  >  Backend-Entwicklung  >  Über die Lösung für verstümmelte chinesische Zeichen beim Lesen von MSSQL-JSON-Daten mit PHP

Über die Lösung für verstümmelte chinesische Zeichen beim Lesen von MSSQL-JSON-Daten mit PHP

墨辰丷
墨辰丷Original
2018-06-04 09:32:351562Durchsuche

PHP und Webseiten verwenden die UTF-8-Kodierung. Beim Lesen von Datenbankdaten wird die mit PHP gelieferte Funktion json_encode() verwendet. Die Ergebnisse werden nicht angezeigt auf Chinesisch angezeigt. Im Folgenden stellt Ihnen der Herausgeber von Script House die Lösung vor, mit der PHP verstümmelte MSSQL-JSON-Daten lesen kann. Freunde, die sie benötigen, können gemeinsam lernen

PHP und Webseiten verwenden UTF-8-Codierung, und die Datenbank ist SQL Server 2008 unter Verwendung der Standardkodierung (936, was der GBK-Kodierung entspricht)

Verwenden Sie beim Lesen von Datenbankdaten die mit PHP gelieferte json_encode(), um zum Frontend zurückzukehren, und das Ergebnis wird nicht angezeigt auf Chinesisch angezeigt werden.

Die Lösung lautet wie folgt:

Auf diese Weise kann das Chinesisch in SQL Server 2008 normal im Web angezeigt werden Seite.

Wenn Sie Chinesisch normal in SQL Server 2008 einfügen möchten, müssen Sie auch einen Code hinzufügen: $query = iconv("utf-8", "gbk//ignore", $query) ;/ /Um das chinesische verstümmelte Problem zu lösen

Der vollständige Code lautet wie folgt:

<?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;
?>

Zusammenfassung : Das Obige ist der gesamte Inhalt des Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

phpMethoden und Bedeutungen der Implementierung des Singleton-Musters

phpMethode zum Implementieren von Funktionen zum Hochladen und Schneiden von Bildern basierend auf CodeIgniter

php metaphone()-Funktion und php Detaillierte Erläuterung des Funktionsbeispiels localeconv()

Das obige ist der detaillierte Inhalt vonÜber die Lösung für verstümmelte chinesische Zeichen beim Lesen von MSSQL-JSON-Daten mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Vorheriger Artikel:Laravel5.5-InstallationNächster Artikel:Laravel5.5-Installation