Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn PHP verstümmelte chinesische MSSQL-Zeichen anzeigt?
Lösung für die Anzeige verstümmelter chinesischer Zeichen in MSSQL: 1. Stellen Sie die UTF-8-Kodierung entsprechend der Seitensituation ein. 2. Transkodieren Sie direkt über die Iconv-Funktion im Programm. 3. Verwenden Sie Ado, um eine Verbindung herzustellen und die Kodierung festzulegen ; 4 , fügen Sie das Meta-Attribut „6b504c8734394304c43c62aef948f340“ hinzu.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Das Beispiel dieses Artikels beschreibt die Lösung für den verstümmelten Code beim Abfragen von MSSQL in PHP. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Wenn PHP eine Verbindung zu MSSQL herstellt, werden alle verstümmelten Zeichen abgefragt. Aus Erfahrung weiß ich, dass es sich bei diesem Problem um ein Codierungsproblem handelt.
Methode 1: Ändern Sie PHP .ini-Datei, natürlich Sie können sie entsprechend der Situation Ihrer Seite festlegen oder die UTF-8-Codierung verwenden. Der Code lautet wie folgt:
;mssql.charset = "ISO-8859-1" mssql.charset = "GBK"
Methode 2, direkt im Programm konvertieren, Der Code lautet wie folgt:
Der Code lautet wie folgt:
iconv('GB2312','UTF-8',$data)
[Empfohlenes Lernen:
PHP-Video-Tutorial]Methode drei: Verwenden Sie die Ado-Verbindung, um die Codierung beim Herstellen der Verbindung festzulegen. Der Code lautet wie folgt:
Der Code lautet wie folgt:
$conn = new COM("ADODB.Connection", NULL, CP_UTF8) or die("Cannot start ADO");
PHP-Beispiel, der Code lautet wie folgt:
Der Code lautet wie folgt:
"); //printaline("PLEASE?"); //print("This will not be displayed due to the above error."); ?> 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"); ?>