导出乱码的原因一般是因为编码格式问题,需要在导出之前把数据重新编码一次
PHP可以使用mb_convert_encoding方法

一、进入tablepress插件目录,找到controllers

二、进入controller-admin.php文件里面
查找下面的字符串

$export_data = apply_filters( ‘tablepress_export_data’, $export_data, $table, $export[‘format’], $export[‘csv_delimiter’] );
1
三、在找到的字符串前面添加下面代码
$export_data = mb_convert_encoding($export_data,’gb2312′,’utf-8′);
1
四、mb_convert_encoding方法说明
mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) : string
1
将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding。
参数
str
要编码的 string。

to_encoding
str 要转换成的编码类型。

from_encoding
在转换前通过字符代码名称来指定。它可以是一个 array 也可以是逗号分隔的枚举列表。 如果没有提供 from_encoding,则会使用内部(internal)编码。

返回值
编码后的 string。

使用列子

<?php
/* 转换内部编码为 SJIS */
$str = mb_convert_encoding($str, “SJIS”);

/* 将 EUC-JP 转换成 UTF-7 */
$str = mb_convert_encoding($str, “UTF-7”, “EUC-JP”);

/* 从 JIS, eucjp-win, sjis-win 中自动检测编码,并转换 str 到 UCS-2LE */
$str = mb_convert_encoding($str, “UCS-2LE”, “JIS, eucjp-win, sjis-win”);

/* “auto” 扩展成 “ASCII,JIS,UTF-8,EUC-JP,SJIS” */
$str = mb_convert_encoding($str, “EUC-JP”, “auto”);
?>
————————————————
版权声明:本文为CSDN博主「Rm_and_Rf」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Rm_and_Rf/article/details/105584422

发表评论

电子邮件地址不会被公开。 必填项已用*标注