香蕉成人伊视频在线观看|学生小视频国产区|yy女主播啪啪啪视频|麻豆传播媒体APP大全免费版官网|瑜伽牲交AV|国产欧美日韩在线天堂区|白浆精品国产91
Discuz! 官方交流社區(qū)
標題:
后臺搜索用戶導出比實際少的問題
[打印本頁]
作者:
我是小站長
時間:
2019-6-2 19:10
標題:
后臺搜索用戶導出比實際少的問題
問題現象:
后臺用戶管理搜索用戶然后導出,導出的用戶數比實際的少
問題分析:
Discuz! 函數中的使用的是diconv函數進行的轉換,通過調試發(fā)現轉換為GBK編碼的時候使用iconv函數進行轉換時,字符被截取了。但是 $out = iconv($in_charset, $out_charset.'//IGNORE', $str); 是帶有 ‘//IGNORE ’ 代表遇到轉換不了的字符忽略,然而還是被截取了。最后查資料發(fā)現是iconv的bug,將iconv從‘glibc’ 更改為 ‘libiconv ’ (重新編譯iconv模塊) 或者,使用 mb_convert_encoding來進行轉換
解決方法:
1、 Linux環(huán)境重新編譯iconv, 從‘glibc’ 更改為 ‘libiconv ’ (具體編譯請到網上搜索相關資料)
2、使用mb_convert_encoding 代替 iconv
打開:source/function/function_core.php
function diconv($str, $in_charset, $out_charset = CHARSET, $ForceTable = FALSE) {
global $_G;
$in_charset = strtoupper($in_charset);
$out_charset = strtoupper($out_charset);
if(empty($str) || $in_charset == $out_charset) {
return $str;
}
$out = '';
if(!$ForceTable) {
if(function_exists('iconv')) {
$out = iconv($in_charset, $out_charset.'//IGNORE', $str);
} elseif(function_exists('mb_convert_encoding')) {
$out = mb_convert_encoding($str, $out_charset, $in_charset);
}
}
if($out == '') {
$chinese = new Chinese($in_charset, $out_charset, true);
$out = $chinese->Convert($str);
}
return $out;
}
復制代碼
更改為:
function diconv($str, $in_charset, $out_charset = CHARSET, $ForceTable = FALSE) {
global $_G;
$in_charset = strtoupper($in_charset);
$out_charset = strtoupper($out_charset);
if(empty($str) || $in_charset == $out_charset) {
return $str;
}
$out = '';
if(!$ForceTable) {
if(function_exists('mb_convert_encoding')) {
$out = mb_convert_encoding($str, $out_charset, $in_charset);
}elseif(function_exists('iconv')) {
$out = iconv($in_charset, $out_charset.'//IGNORE', $str);
}
}
if($out == '') {
$chinese = new Chinese($in_charset, $out_charset, true);
$out = $chinese->Convert($str);
}
return $out;
}
復制代碼
提示: 使用mb_convert_encoding 函數需要開啟mbstring模塊
作者:
耗子
時間:
2019-6-2 21:00
收藏啦~
作者:
xzaxza
時間:
2019-6-9 08:41
收藏,備用一下
歡迎光臨 Discuz! 官方交流社區(qū) (http://m.yu-jie.cn/)
Powered by Discuz! X5.0