您的位置:首页 > 其它

Mantis中文环境下CSV和Excel导出乱码问题

2009-10-19 16:41 441 查看
在安装MySql和Mantis时,如果所有编码都采用UTF8,并且在登入Mantis后将个人语言修改为简体中文后,然后查看问题,在做CSV和Excel导出时,可能你会发现导出文件内容显示为乱码。

1.解决CVS导出乱码:

找到Mantis根目录下csv_export.php,进行修改:
添加函数:
function expChangeCode($str)
{
return mb_convert_encoding($str,"CP936","UTF-8");
}

然后修改:
将echo $t_header 改成 echo expChangeCode($t_header);
将echo $t_value 改成 echo expChangeCode($t_value);
将echo $t_function( $t_row[ $t_column ] )改成 echo expChangeCode($t_function( $t_row[ $t_column ] ));

2.解决Excel导出乱码

找到Mantis根目录下core/excel_api.php,进行修改:
将$t_ret .= utf8_encode( $t_value );改成$t_ret .= $t_value;

也就是将utf8_encode函数去掉,也可以这样改:
将$t_value = str_replace( ">", ">", $t_value );改为$t_ret = str_replace( ">", ">", $t_value );
然后将$t_ret .= utf8_encode( $t_value );这句删除或者注释掉。

转自:http://micki.blogbus.com/logs/38993106.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: