濮阳杆衣贸易有限公司

主頁 > 知識庫 > 解決zabbix監(jiān)控因php問題導致圖形界面中文亂碼方法

解決zabbix監(jiān)控因php問題導致圖形界面中文亂碼方法

熱門標簽:江西外呼系統(tǒng) 外呼系統(tǒng)打哪顯哪 湖北ai智能電銷機器人 高德地圖標注論壇 AI電銷機器人 源碼 新科美甲店地圖標注 北海市地圖標注app 新邵電銷機器人企業(yè) 蘭州ai電銷機器人招商

解決因編譯php中添加了-enable-gd-jis-conv選項導致Zabbix監(jiān)控系統(tǒng)圖形界面中文亂碼問題

現(xiàn)象:

php編譯參數(shù):

說明:

如果PHP編譯時啟用–enable-gd-jis-conv選項的話,那么非ASCII字符(例如漢字、拼音、希臘文和箭頭) 會被當成EUC-JP編碼 (phpinfo中美其名曰“支持JIS編碼的字體”), 從而導致亂碼(由于西文字體沒有假名或漢字,一般表現(xiàn)為全部是方框)。imagettftext()函數(shù)是將字符寫入到圖片的函數(shù),這個問題就是由這個函數(shù)導致的。

在網(wǎng)上查了好幾篇教程不全,以下為本人生產(chǎn)實踐操作,在zabbix3.2版本,php7.2版本

方法一:

重新編譯安裝php,禁用-enable-gd-jis-conv選項,這種方式代價較大;

方法二:

因生產(chǎn)環(huán)境php使用年限比較久,不知道是否有應用在使用,不敢輕易重新編譯,故按照方法二解決

第一步:

/etc/nginx/html/zabbix/include中修改graphs.inc.php文件(先備份)

cp graphs.inc.php graphs.inc.php.bak

vim graphs.inc.php #在末尾添加如下代碼

function to_entities($string){
 $len = strlen($string);
 $buf = "";
 for($i = 0; $i < $len; $i++){
  if (ord($string[$i]) <= 127){
   $buf .= $string[$i];
  } else if (ord ($string[$i]) <192){
   //unexpected 2nd, 3rd or 4th byte
   $buf .= "?";
  } else if (ord ($string[$i]) <224){
   //first byte of 2-byte seq
   $buf .= sprintf("&#%d;",
    ((ord($string[$i + 0]) & 31) << 6) +
    (ord($string[$i + 1]) & 63)
   );
   $i += 1;
  } else if (ord ($string[$i]) <240){
   //first byte of 3-byte seq
   $buf .= sprintf("&#%d;",
    ((ord($string[$i + 0]) & 15) << 12) +
    ((ord($string[$i + 1]) & 63) << 6) +
    (ord($string[$i + 2]) & 63)
   );
   $i += 2;
  } else {
   //first byte of 4-byte seq
   $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;
  }
 }
 return $buf;
}

第二步:

找到該文件中imagettftext()函數(shù)(一共三處)

將最后一個參數(shù)$string修改為to_entities($string),三處都需要修改,無需重啟,刷新即可解決問題。

總結

以上所述是小編給大家介紹的解決zabbix監(jiān)控因php問題導致圖形界面中文亂碼方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

標簽:大理 南陽 池州 阿克蘇 黃石 海南 黔東 自貢

巨人網(wǎng)絡通訊聲明:本文標題《解決zabbix監(jiān)控因php問題導致圖形界面中文亂碼方法》,本文關鍵詞  解決,zabbix,監(jiān)控,因,php,問題,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決zabbix監(jiān)控因php問題導致圖形界面中文亂碼方法》相關的同類信息!
  • 本頁收集關于解決zabbix監(jiān)控因php問題導致圖形界面中文亂碼方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    房山区| 德格县| 天台县| 阿坝县| 北海市| 玉林市| 鄄城县| 孟津县| 来安县| 图片| 鹤峰县| 穆棱市| 甘泉县| 蒙城县| 容城县| 咸丰县| 延安市| 济宁市| 江达县| 定州市| 寿光市| 鱼台县| 丹寨县| 稻城县| 织金县| 周至县| 宜章县| 达州市| 江门市| 竹溪县| 顺平县| 塘沽区| 山西省| SHOW| 五家渠市| 徐闻县| 界首市| 延庆县| 蒙阴县| 英德市| 拉孜县|