之前,admin管理员 根据在群里我们解决导出中文乱码的问题整理了一个帖子,导出各种带内容的csv文件都可以正常地显示中文字符。参见:http://ITIL-foundation.cn/thread-34301-1-1.html
今天,群里的Red Jonh网友,发现一个新的问题,只是照上面的方法修改完成后,在导出“数据管理”->“CSV导入”->“模板”的CSV文件时,保存下来的各种模板.csv文件仍然会乱码。于是,我有研究了一下程序,发现奇怪的,iTop在同样导出csv文件这样一个功能的时候,在这两个地方使用不同的方式生成csv文件。相当于必须同时修改这两处,才能保证导出的带内容的csv文件和模板csv文件都不出现乱码。
为了大家查看和使用方便,我把之前的修改和本次研究的结果整理发布在下面:
第一处:修改一个配置选项(修复系统绝大部分功能导出csv文件的中文乱码问题)
找到截图中的这个文件
该文件如图所示,初始安装好以后缺省是 只读的,需要临时把“只读”那个对号 去掉,使文件可以被修改。
然后打开该文件,找到第49行,内容应该为
'csv_file_default_charset' => 'ISO-8859-1',
修改为:
//'csv_file_default_charset' => 'ISO-8859-1',
'csv_file_default_charset' => 'UTF-8',
改好后保存。
然后再把 刚才去掉的只读选项,选中,保证“只读”前面的对号出现,然后确定或应用,以此保证该文件仍然为只读文件。
这样改完以后,CSV导出的中文不乱码了。
第二处:修改一个csv导出程序,修复模板导出csv文件中文不乱码问题
找到文件C:\xampp\htdocs\pages\csvimport.php,
打开文件,找到第435行,内容应该如下:
$oPage->add($sResult);
把这一行修改为如下两行:
// $oPage->add($sResult);
$oPage->add("\xEF\xBB\xBF".$sResult);
然后保存文件。
这是,刷新模板导出的页面,重新导出模板的csv文件,打开新导出的csv文件试试看,是不是中文显示正常了?
希望大家喜欢。
|