返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么实现批量转成utf-8
  • 637
分享到

php怎么实现批量转成utf-8

phputf-8 2017-09-30 13:09:22 637人浏览 无得
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么实现批量转成utf-8?php-文件批量转换编码格式-GB2312转UTF-8等代码<?php define('THIS_FILE', _

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么实现批量转成utf-8?

php-文件批量转换编码格式-GB2312转UTF-8等

代码

<?php
define('THIS_FILE', __FILE__); // 此文件路径,请勿修改,将跳过此文件
define('THIS_PATH', dirname(THIS_FILE)); // 当前路径,可修改
define('Cover', 'new'); // 是否直接覆盖本文件(改为 true 不加单引号,危险),建议写入其他地址(相对于当前路径)
define('DS', DIRECTORY_SEPARATOR); // linux改为'/',Windows为'\\'
define('ICONV', 'UTF-8'); // 最终转换编码格式
function eachFile($path, $files = [])
{
    if (Cover !== true && $path == THIS_PATH . DS . Cover) {
        return $files;
    }
    if (preg_match("/[\x7f-\xff]/", $path)) {
        $path = iconv('UTF-8', 'GBK', $path);
    }
    if (is_file($path)) {
        $files[] = $path;
        return $files;
    }
    $list = scandir($path);
    foreach ($list as $k => $v) {
        if ($v !== '.' && $v !== '..') {
            $p = $path . DS . $v;
            // 路径转码GBK
            if (preg_match("/[\x7f-\xff]/", $p)) {
                $p = iconv('UTF-8', 'GBK', $p);
            }
            if (is_dir($p)) {
                $files = eachFile($p, $files);
            } else {
                $files[] = $p;
            }
        }
    }
    return $files;
}
$files = eachFile(THIS_PATH);
foreach ($files as $k => $v) {
    $ext = pathinfo($v, PATHINFO_EXTENSION);
    if (in_array($ext, ['txt', 'php', 'CSS', 'js', 'htm', 'html'])) {
        if ($v == THIS_FILE) continue;
        // 获取内容并转码
        $contents_before = file_get_contents($v);
        $oldIconv = mb_detect_encoding($contents_before, array('ASCII', 'GB2312', 'GBK', 'UTF-8', 'BIG5'));
        $contents_after = iconv($oldIconv, ICONV, $contents_before);
        if (Cover !== true) {
            // 判断新文件夹是否存在
            $newPath = str_replace(THIS_PATH, THIS_PATH . DS . Cover, $v);
            if (!file_exists(dirname($newPath))) {
                mkdir(dirname($newPath), 0755, true);
            }
            // 覆盖写入文件(不存在自动创建)
            file_put_contents($newPath, $contents_after);
        } else {
            file_put_contents($v, $contents_after);
        }
        // 输出
        echo "{$v} 已转换<hr>";
    } else {
        $newPath = str_replace(THIS_PATH, THIS_PATH . DS . Cover, $v);
        if (Cover !== true && !file_exists($newPath)) {
            if (!file_exists(dirname($newPath))) {
                mkdir(dirname($newPath), 0755, true);
            }
            copy($v, $newPath);
            echo "{$v} 复制文件到新路径 {$newPath}<hr>";
        }
    }
}

功能

自定义文件夹

跳过本文件(同一文件夹)及新文件夹(多次转码)

文件格式限制

转换文件编码到新文件夹(推荐)或本文件

复制无需转码文件到新文件夹

注意

暂未在Linux上测试

只能转码文本文件

--结束END--

本文标题: php怎么实现批量转成utf-8

本文链接: https://lsjlt.com/news/1168.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php怎么实现批量转成utf-8
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现批量转成utf-8?PHP-文件批量转换编码格式-GB2312转UTF-8等代码<php define('THIS_FILE', __...
    99+
    2017-09-30
    php utf-8
  • php如何实现批量转成utf-8
    这篇文章主要讲解了“php如何实现批量转成utf-8”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现批量转成utf-8”吧!php实现批量转成utf-8的方法:1、创建一个PHP...
    99+
    2023-06-28
  • 怎么用VBS实现批量gb2312转utf-8
    这篇文章给大家分享的是有关怎么用VBS实现批量gb2312转utf-8的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:' Set objArgs = WScript....
    99+
    2023-06-08
  • PHP 汉字转 UTF-8 实用教程
    PHP 汉字转 UTF-8 实用教程 在网页开发中,经常会遇到需要处理中文字符编码的情况。特别是在处理汉字时,我们常常需要将其转换为UTF-8编码以保证数据的正确性和兼容性。本文将介绍...
    99+
    2024-04-02
  • php转utf-8中文乱码怎么办
    php转utf-8中文乱码的解决办法:1、在代码开始处加入“header("Content-Type: text/html;charset=utf-8");”;2、将文件另存为“UTF-8”;3、删除BOM标签即可。本教...
    99+
    2023-05-14
    php 乱码
  • php中怎么实现批量转换
    本篇文章给大家分享的是有关php中怎么实现批量转换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。phpCB批量转换的php程序:<   header(...
    99+
    2023-06-17
  • php怎么将汉字转换为UTF-8编码
    这篇文章主要介绍“php怎么将汉字转换为UTF-8编码”,在日常操作中,相信很多人在php怎么将汉字转换为UTF-8编码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php怎么将汉字转换为UTF-8编码”的疑...
    99+
    2023-07-05
  • PHP实现汉字转UTF-8编码的方法介绍
    PHP是一种广泛应用于Web开发领域的服务器端脚本语言,而汉字转UTF-8编码是在处理中文字符时经常遇到的需求之一。本文将介绍如何通过PHP来实现汉字转UTF-8编码的方法,同时提供具...
    99+
    2024-04-02
  • php怎么将数据编码从utf-8转为gbk
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以利用iconv()函数将数据的编码从utf-8转为gbk。<php header("Content-type:text/htm...
    99+
    2018-11-01
    php 编码转换 utf-8转gbk
  • Python批量将csv文件编码方式转换为UTF-8的实战记录
    当我们用pandas是操作CSV文件的时候,常常会因为编码问题出现报错。 pandas_libs\parsers.pyx in pandas._libs.parsers.TextRe...
    99+
    2024-04-02
  • PHP编程技巧:如何实现汉字转UTF-8编码
    当下,随着互联网的普及,各种编程语言的使用也相应增加。PHP作为一种广泛应用的编程语言之一,面向web开发,具有开发快速、运行稳定的特点。在PHP开发过程中,经常会遇到需要对汉字进行编...
    99+
    2024-04-02
  • 怎么用php将utf-8文件转换为gbk格式
    本篇内容主要讲解“怎么用php将utf-8文件转换为gbk格式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用php将utf-8文件转换为gbk格式”吧!首先,让我们对文件编码有一些基本认识...
    99+
    2023-07-05
  • php怎么更改编码为utf-8
    随着互联网的快速发展,越来越多的网站开始面向全球用户,为了满足国际用户的需求,网站的字符集也需要变得更加灵活,而UTF-8编码成为了更加广泛使用的编码方式。PHP作为一种常用的编程语言,其也需要能够更改编码为UTF-8来适应现在的需求,接下...
    99+
    2023-05-14
    php 编码
  • Java怎么实现UTF-8编码与解码
    这篇文章主要介绍了Java怎么实现UTF-8编码与解码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现UTF-8编码与解码文章都会有所收获,下面我们一起来看看吧。Java实现UTF-8编码与解码J...
    99+
    2023-07-06
  • python怎么实现批量md转word
    这篇文章主要介绍“python怎么实现批量md转word”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么实现批量md转word”文章能帮助大家解决问题。前言;最近想要实现批量将mard...
    99+
    2023-06-29
  • PHP中将汉字转换成UTF-8编码的方法有哪些
    本文小编为大家详细介绍“PHP中将汉字转换成UTF-8编码的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“PHP中将汉字转换成UTF-8编码的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。为...
    99+
    2023-07-05
  • mysql big5转 utf-8的转换程式是怎么样的
    今天就跟大家聊聊有关mysql big5转 utf-8的转换程式是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。這支程式 會 dump 出 ...
    99+
    2024-04-02
  • 浅析PHP中将汉字转换成UTF-8编码的3种方法
    PHP是一种服务器端脚本语言,被广泛用于网站开发中。但是,在使用PHP处理中文数据时,有时需要将中文字符转换成UTF-8编码。本文将介绍PHP中汉字转换为UTF-8编码的方法。为何需要将汉字转换成UTF-8编码?在使用PHP处理中文数据时,...
    99+
    2023-05-14
    php
  • php怎么实现10进制转8进制
    本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。php怎么实现10进制转8进制 代码如下://十进制、二进制、八进制、十六进制转换 //十进制转换为二进制decbin()函数: //echo decbi&#...
    99+
    2022-03-14
    php 10进制 8进制
  • VBS如何实现GB2312,UTF-8,Unicode,BIG5编码转换工具
    这篇文章将为大家详细讲解有关VBS如何实现GB2312,UTF-8,Unicode,BIG5编码转换工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体代码: 代码如下:' *====...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作