技术栈

技术栈

首页 > 技术栈 > iTop二次开发教程-导出的CSV文件的中文字符乱码问题处理

iTop二次开发教程-导出的CSV文件的中文字符乱码问题处理

2个月前 热度:79 ℃

iTop-CMDB一般修改两个目录即可:

env-toolkit:插件安装目录

datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml:配置管理网络设备

datamodels/2.x/itop-config-mgmt/zh_cn.dict.itop-config-mgmt.php:配置管理网络设备

extensions/itop-network-system/datamodel.itop-network-system.xml:

extensions/itop-network-system/zh.dict.itop-network-system.php:


在ITop中通过在导出“数据管理”->“CSV导入”->“模板”的CSV文件时,保存下来的各种模板.csv文件仍然会乱码。iTop在同样导出csv文件这样一个功能的时候,会在两个地方使用不同的方式生成csv文件。相当于必须同时修改这两处,才能保证导出的带内容的csv文件和模板csv文件都不出现乱码。


第一处:修改一个配置选项(修复系统绝大部分功能导出csv文件的中文乱码问题)


conf\production\config-itop.php


然后打开该文件,找到第49行,内容应该为

'csv_file_default_charset' => 'ISO-8859-1',

修改为:

//'csv_file_default_charset' => 'ISO-8859-1',

'csv_file_default_charset' => 'UTF-8',


改好后保存。

然后再把 刚才去掉的只读选项,选中,保证“只读”前面的对号出现,然后确定或应用,以此保证该文件仍然为只读文件。

这样改完以后,CSV导出的中文不乱码了。


第二处:修改一个csv导出程序,修复模板导出csv文件中文不乱码问题

找到文件安装目录下的\pages\csvimport.php,   我的是2.6.1版本csvimport.php没有这段代码,可以在ajax.csvimport.php里面修改。

打开文件,找到第435行,内容应该如下:

    $oPage->add($sResult);

把这一行修改为如下两行:

//    $oPage->add($sResult);

    $oPage->add("\xEF\xBB\xBF".$sResult);

然后保存文件。

这是,刷新模板导出的页面,重新导出模板的csv文件,打开新导出的csv文件试试看,中文显示就会正常


在2.62版本的情况下,导出还会乱码,但是通过导出 Excel文件就会正常了。


打赏
TAGS: itop

相关文章

 iTop二次开发教程-集成 AD 域登录

iTop二次开发教程-集成 AD 域登录

1. 修改配置文件登录iTop,找到管理工具中的配置文件编辑器,在大约213行,找到authent-ldap并作相应修改,或者去修改config-itop.php文件也可以。'authent-...

iTop二次开发教程-iTop内置账号角色权限说明

iTop二次开发教程-iTop内置账号角色权限说明

下表为iTop内置角色权限说明,内置了1个管理员权限和12个功能角色权限。管理员账户暂时不公开。其它登陆账户如下。角色 描述Administrator 具有最高权限,能绕过任何控制Change App...