`
wxw850227
  • 浏览: 70813 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

去掉utf8 bom

    博客分类:
  • php
阅读更多
<?php
if (isset($_GET['dir'])){ //config the basedir
    $basedir=$_GET['dir'];
}else{
    $basedir = '.';
}

$auto = 1;

checkdir($basedir);

function checkdir($basedir){
    if ($dh = opendir($basedir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file != '.' && $file != '..'){
                if (!is_dir($basedir."/".$file)) {
                    echo "filename: $basedir/$file".checkBOM("$basedir/$file")."<br>";
                }else{
                    $dirname = $basedir."/".$file;
                    checkdir($dirname);
                }
            }
        }
    closedir($dh);
    }
}

function checkBOM ($filename) {
    global $auto;
    $contents = file_get_contents($filename);
    $charset[1] = substr($contents, 0, 1);
    $charset[2] = substr($contents, 1, 1);
    $charset[3] = substr($contents, 2, 1);
    if (ord($charset[1]) == 239 && ord($charset[2]) == 187 &&ord($charset[3]) == 191) {
        if ($auto == 1) {
            $rest = substr($contents, 3);
            rewrite ($filename, $rest);
            return ("<font color=red>BOM found,automatically removed.</font>");
        } else {
            return ("<font color=red>BOM found.</font>");
        }
    }
    else return ("BOM Not Found.");
}

function rewrite ($filename, $data) {
    $filenum = fopen($filename, "w");
    flock($filenum, LOCK_EX);
    fwrite($filenum, $data);
    fclose($filenum);
}
?>
分享到:
评论

相关推荐

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    3. 如果需要读取有BOM的UTF-8文件并转换为其他编码,可以先去除BOM,然后再进行转换: ```csharp using (FileStream fileStream = new FileStream("带有BOM的UTF8File.txt", FileMode.Open)) { byte[] bom = new ...

    Java解决UTF-8的BOM问题

    然而,UTF-8有一个特殊特性,那就是它可以带有Byte Order Mark(BOM),这是一个特殊的字节序列,用于标识数据的编码方式。在某些情况下,BOM可能会引起问题,例如在读取文本文件时,可能会导致额外的乱码字符出现在...

    批量去除utf-8的bom头(php版)

    UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。 Windows就是使用BOM来...

    批量去掉UTF-8文件中BOM标示符

    描述中提到的博文链接指向了一个ITEYE博客文章,虽然具体内容没有给出,但我们可以推测该文章可能提供了如何批量去除UTF-8文件BOM的教程或代码示例。ITEYE是一个知名的IT技术社区,这里的技术分享往往具有很高的参考...

    UTF-8 批量检测BOM工具/小软件 utf8 BOM批量检测/检查清除

    然后用 GB2UTF81.exe 这个工具批量去掉BOM(源文件格式选 utf8,目标文件也选utf8,去掉 带BOM 的勾,不保留备份,再点 开始处理 即可)。然后把目录复制,覆盖原来的目录文件即可。 注意: 本工具暂时还不支持清除...

    UTF-8文件去除BOM头小工具

    去除bom头小工具,工具使用方法: 选择要遍历的文件夹,输入...勾选ANSI转为UTF-8,则会将相应格式但编码为GB2312,GBK,GB18030的文件转为无BOM的UTF-8文件 请确保文件可写!使用前请做好备份,作者不承担任何法律责任

    utf-8 去除bom头文件

    2. **手动去除BOM**:你可以使用文本编辑器,如Notepad++或Sublime Text,打开UTF-8带BOM的文件,选择“编码”菜单,然后选择“转换为UTF-8无BOM”或类似选项。这样会保存一个新的文件,而原文件保持不变。 3. **...

    Android-清除utf8bom的IntellijIDEA插件

    然而,UTF-8有三种形式:无BOM(Byte Order Mark)、带BOM的UTF-8(UTF-8 with BOM)和UTF-8签名。带BOM的UTF-8文件会在文件开头添加一个特殊字节序列(EF BB BF),用来标识文件是用UTF-8编码的,但在某些情况下,...

    UTF8-无BOM转为UTF16LE

    例如,"phonebook_export_unicode_L.csv"可能是使用UTF16LE编码的电话簿数据,而"phonebook_export_utf8.csv"和"phonebook_export_utf8_noBOM.csv"则是使用UTF8编码的,后者没有BOM。 在实际应用中,例如在跨平台的...

    php utf-8编码去bom小工具

    标题 "php utf-8编码去bom小工具" 指的是一个PHP脚本,用于去除UTF-8编码文件中的BOM(Byte Order Mark)。BOM是UTF-8编码的一个可选特征,它在文件开头放置三个特殊的字节来标识文件的字符编码,但这可能会导致在...

    UTF-8文件批量去除BOM标记

    "去除BOM头小工具.exe"是一个实用程序,专门用于批量处理UTF-8编码的文件,移除文件头的BOM标记。这个工具可以极大地提高工作效率,避免手动逐个编辑文件的繁琐过程。在日常开发中,如果你遇到因为BOM导致的问题,...

    Go-utfbom检测BOM并根据需要移除

    `Go-utfbom`项目就是针对这种情况,提供了一个便捷的工具来检测和移除UTF-8文件开头的BOM。 标题"Go-utfbom检测BOM并根据需要移除"意味着这个库专注于处理与UTF-8 BOM相关的任务。在Go开发中,如果你的工作涉及到...

    UTF-8去BOM头工具

    因此,有时候我们需要去除UTF-8文件的BOM头。 "UTF-8去BOM头工具"就是为了解决这个问题而设计的。这个工具整合了之前的去BOM工具和所需的DLL(动态链接库)文件,使得用户可以方便地处理含有BOM头的UTF-8文件。DLL...

    C#获取去除文件bom头后的内容

    在C#中,我们可以通过以下步骤来读取并去除UTF-8文件的BOM头: 1. 使用`File.OpenRead`方法打开文件,获取一个`FileStream`对象。 2. 创建一个`BinaryReader`对象,指定编码为`Encoding.UTF8`。`BinaryReader`会...

    IDEA支持带BOM的UTF-8编码文件.rar

    虽然UTF-8无BOM是更常见的选择,但IDEA也允许创建带BOM的UTF-8文件。 3. **保存文件**:在保存文件时,可以通过设置选择是否添加BOM。这在与不支持BOM的系统交互时尤其有用。 4. **版本控制**:如果使用Git等版本...

    批量去除 bom 工具

    对于使用UTF-8编码的文本文件,特别是编程源代码,通常推荐使用无BOM版本,以防止可能出现的解析问题。而这个批量去除BOM工具无疑是一个实用的辅助工具,可以帮助开发者轻松解决由BOM引发的困扰。

    EasyTcpServer-优化线程-跨平台兼容-utf8 bom字符编码.zip

    在处理文本数据时,`EasyTcpServer`可能会自动识别并去除BOM,以便正确解析和处理含有BOM的UTF-8字符串,防止出现乱码问题。这种处理方式对于接收来自不同系统或工具的数据尤为关键,因为并非所有系统都会在发送UTF-...

    UTF-8文件BOM标记批量删除工具.rar

    本工具用于批量去除UTF-8中的BOM标记,批量操作非常省时省力,再不用一个个文件去删除了默认类型为php|html|js|css,多类型可使用|分隔符进行分隔,支持将ANSI文件转为UTF8,建议在去除BOM文件头时,请先做好备份。

    java去除文件头bom信息

    去除文件中的BOM头信息. 一些文档工具可以打开再保存为无bom格式,但文件太多就很费力,此工具类可以直接运行,直接输入你要修改的文件夹路径即可,可自由调整文件夹深度,进行子级文件夹读取

    VS201X去除UTF-8控制符BOM插件

    VS201X编辑UTF-8编码的HTML文件时,总会在头部添加0xEF, 0xBB, 0xBF 三字节的BOM符,影响了HTML的正常解析,可以使用Fix File Encoding插件将其去除。

Global site tag (gtag.js) - Google Analytics