Lösen Sie das Problem der verstümmelten chinesischen Zeichen in der grafischen Oberfläche des Zabbix-Überwachungssystems, das durch das Hinzufügen der Option -enable-gd-jis-conv beim Kompilieren von PHP verursacht wird Phänomen: PHP-Kompilierungsparameter: veranschaulichen: Wenn PHP mit der aktivierten Option --enable-gd-jis-conv kompiliert wird, werden Nicht-ASCII-Zeichen (wie chinesische Schriftzeichen, Pinyin, Griechisch und Pfeile) als EUC-JP-Zeichen (in phpinfo „JIS-codierte Schriftarten“ genannt) behandelt, was zu verstümmelten Zeichen führt (da westliche Schriftarten keine Kana- oder chinesischen Schriftzeichen haben, werden sie normalerweise als Kästchen angezeigt). Die Funktion imagettftext() wird verwendet, um Zeichen in ein Bild zu schreiben. Dieses Problem wird durch diese Funktion verursacht. Ich habe mehrere unvollständige Tutorials im Internet überprüft. Das Folgende ist mein Produktionspraxisbetrieb in der Version zabbix3.2, Version php7.2 Methode 1: Kompilieren und installieren Sie PHP neu und deaktivieren Sie dabei die Option -enable-gd-jis-conv. Diese Methode ist teurer. Methode 2: Da die Produktionsumgebung PHP schon lange verwendet, weiß ich nicht, ob es Anwendungen gibt, die es verwenden. Daher wage ich es nicht, es einfach neu zu kompilieren. Daher löse ich es gemäß Methode 2 Erster Schritt: Ändern Sie die Datei Funktion to_entities($string){ $len = strlen($string); $buf = ""; für($i = 0; $i < $len; $i++){ wenn (ord($string[$i]) <= 127){ $buf .= $string[$i]; } sonst wenn (ord ($string[$i]) < 192) { //unerwartetes 2., 3. oder 4. Byte $buf .= "?"; } sonst wenn (ord ($string[$i]) < 224) { //erstes Byte der 2-Byte-Sequenz $buf .= sprintf("&#%d;", ((ord($string[$i + 0]) & 31) << 6) + (ord($string[$i + 1]) & 63) ); $i += 1; } sonst wenn (ord ($string[$i]) < 240) { //erstes Byte der 3-Byte-Sequenz $buf .= sprintf("&#%d;", ((ord($string[$i + 0]) & 15) << 12) + ((ord($string[$i + 1]) & 63) << 6) + (ord($string[$i + 2]) & 63) ); $i += 2; } anders { //erstes Byte der 4-Byte-Sequenz $buf .= sprintf("&#%d;", ((ord($string[$i + 0]) & 7) << 18) + ((ord($string[$i + 1]) & 63) << 12) + ((ord($string[$i + 2]) & 63) << 6) + (ord($string[$i + 3]) & 63) ); $i += 3; } } $buf zurückgeben; } Schritt 2: Suchen Sie in der Datei nach der Funktion imagettftext() (insgesamt drei Stellen). Ändern Sie den letzten Parameter $string in Zusammenfassen Oben ist die Methode, die ich Ihnen vorgestellt habe, um das Problem verstümmelter chinesischer Schriftzeichen in der grafischen Benutzeroberfläche der Zabbix-Überwachung aufgrund von PHP-Problemen zu lösen. Ich hoffe, sie wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: So erfassen Sie Ausnahmen in React
>>: Optimieren Sie die Speichereffizienz von BLOB- und TEXT-Spalten in InnoDB-Tabellen
Inhaltsverzeichnis 1 Ausführung und Planung 1.1 V...
Inhaltsverzeichnis Optimierung der if-Beurteilung...
Der zu erzielende Effekt In vielen Fällen überwac...
Der Befehl fd bietet eine einfache und unkomplizi...
Inhaltsverzeichnis MySQL Shell import_table Daten...
JSON-Daten werden auf der HTML-Seite angezeigt un...
Seit ich die offizielle Version von IE8.0 install...
In Gästebüchern, Foren und anderen Orten werden i...
Da Springboot über einen integrierten Tomcat-Serv...
Inhaltsverzeichnis 1. Betrieb von js Integer 2. S...
In diesem Artikel werden hauptsächlich kreisförmi...
In einer komplexen Tabellenstruktur erstrecken si...
Durch Hinzufügen des Schlüsselworts extra_hosts i...
Ich glaube, dass Leute, die Erfahrung mit React h...
Zitat aus Baidus Erklärung zu Pseudostatik: Pseud...