首页| 版块| 我的| 发帖| 消息
主题:关于论坛编码及转换函数 [电脑版]
zhangjingyu发表于 2026-08-14 08:43
几天前,和deepseek研究了群组相册列表和论坛附件图片批处理删除原图替换为缩略图的方法。现把主要内容记录。
真正通用的编码转换函数
方案1:改进版(去掉数据库查询)/**
* 智能编码转换(通用版)
* @param string $str 要转换的字符串
* @param string $to 目标编码(默认 UTF-8)
* @param string $from 源编码(自动检测)
* @return string 转换后的字符串
*/
function smartConvert($str, $to = 'UTF-8', $from = 'auto') {
    if (empty($str)) {
        return $str;
    }
    
    // 如果指定了源编码,直接转换
    if ($from !== 'auto') {
        $result = @mb_convert_encoding($str, $to, $from);
        if ($result && $result != $str) {
            return $result;
        }
    }
    
    // 自动检测常见编码
    $encodings = ['UTF-8', 'GBK', 'GB2312', 'GB18030', 'BIG5', 'latin1'];
    foreach ($encodings as $encoding) {
        if ($encoding === $to) continue; // 跳过目标编码
        
        $result = @mb_convert_encoding($str, $to, $encoding);
        if ($result && $result != $str) {
            // 验证转换结果是否有效
            $check = @mb_convert_encoding($result, $encoding, $to);
            if ($check == $str) {
                return $result;
            }
        }
    }
    
    // 都失败,返回原值
    return $str;
}
下一页 (1/2)
回帖(25):
25楼:记录生活,将成为以后美好的回忆!(华爱玉涵)
24楼:后面的对话就没什么需要记录的了,主要是关于附件管理程序的各种调试、调整、各别地方的小修改等 ..(zhangjingyu)
23楼:“现在的单独处理一个附件图片的操作,确实很安全,就是有时候觉得效率有点低,可以有个更 ..(zhangjingyu)

全部回帖(25)» | 最新回帖
收藏本主题 | 发表新主题