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

  • A+
所属分类:PHP开发
摘要

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

在安装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 );这句删除或者注释掉。

  • 我的微信
  • 请务必准确填写验证信息
  • weinxin
  • 我的微信公众号
  • 提供本博客以及生活资讯
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar 逛窑子 0

      独立博客很不容易啊,坚持下去,加油。
      有空来我的小站回访一下哈。

      • avatar 诛仙私服 0

        这个很有用啊,mark