Heim > Artikel > Backend-Entwicklung > Über die Lösung für verstümmelte chinesische Zeichen beim Lesen von MSSQL-JSON-Daten mit PHP
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 '../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; ?>
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
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!