Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn PHP verstümmelte chinesische MSSQL-Zeichen anzeigt?

Was soll ich tun, wenn PHP verstümmelte chinesische MSSQL-Zeichen anzeigt?

藏色散人
藏色散人Original
2021-03-31 10:00:451904Durchsuche

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.

Was soll ich tun, wenn PHP verstümmelte chinesische MSSQL-Zeichen anzeigt?

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