OCS NG 2.0.5 版本採用了UTF-8編碼,但由於一個小bug會導致有中文名稱軟件時統計出現亂碼.
原程序:
/usr/share/ocsinventory-reports/ocsreports/plugins/main_sections/ms_dict/ms_dict.php
$list_alpha[$i]=mb_strtoupper($item_list_alpha -> alpha); 修改為
$list_alpha[$i]=mb_strtoupper($item_list_alpha -> alpha,'UTF-8');
/usr/share/ocsinventory-reports/ocsreports/plugins/main_sections//ms_all_soft/ms_all_soft.php
$car=mb_strtoupper($item_list_alpha -> alpha); 改為
$car=mb_strtoupper($item_list_alpha -> alpha,'UTF-8');
All softwares 和 dictionry 中都會,此時搜索中文軟件名也無法進行處理.
google了全世界都沒找到答案,就硬著頭皮看php代碼了.唉,我是搞服務器和網絡的人呢.....
最終檢查下來的結果:
使用mb_strtoupper函數來將小寫字母開頭的軟體合併到大寫字母下,處理中文就成亂碼了.
還好mb_strtoupper 可以指定編碼參數.
原程序:
/usr/share/ocsinventory-reports/ocsreports/plugins/main_sections/ms_dict/ms_dict.php
$list_alpha[$i]=mb_strtoupper($item_list_alpha -> alpha); 修改為
$list_alpha[$i]=mb_strtoupper($item_list_alpha -> alpha,'UTF-8');
/usr/share/ocsinventory-reports/ocsreports/plugins/main_sections//ms_all_soft/ms_all_soft.php
$car=mb_strtoupper($item_list_alpha -> alpha); 改為
$car=mb_strtoupper($item_list_alpha -> alpha,'UTF-8');