`
lan13217
  • 浏览: 498271 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

php utf-8编码去bom小工具

    博客分类:
  • PHP
阅读更多
RIA知识库
flex
RIA
网上找到了一个PHP函数,可以删除UTF-8编码中的BOM,当然也可以使用UE等文本编辑器了
<?php     
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除     
$basedir="."; //修改此行为需要检测的目录,点表示当前目录     
$auto=1; //是否自动移除发现的BOM信息。1为是,0为否。     
//以下不用改动     
if ($dh = opendir($basedir)) {     
    while (($file = readdir($dh)) !== false) {     
        if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file))    
            echo "filename: $file ".checkBOM("$basedir/$file")." <br>";     
    }     
    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);     
}     
?>   

分享到:
评论

相关推荐

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

    然而,UTF-8编码有一种特殊的形式,即带有BOM(Byte Order Mark)的UTF-8,也被称为UTF-8 with BOM。BOM是一个特殊的字符序列,用于标识文件的编码方式,但在某些情况下,BOM可能会引起问题,例如在某些编程语言中...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    对于ASCII字符,UTF-8编码与ASCII相同,都是单字节。UTF-8的特殊之处在于它包含一个字节顺序标记(BOM),即UTF-8+BOM,但大多数情况下,UTF-8无BOM更常见。 在PHP中,进行字符编码转换可以使用内置函数,如`mb_...

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

    前次一次工程开发,有...本压缩包附带GB/BIG/UTF-8文件编码批量转换工具(文件名:GB2UTF81.exe) 这个工具很好很强大 还有一个bom批量检测清除工具,php版本的。只可惜只支持当前目录。不支持子目录(文件名:bom.php)

    php检测文件夹下有含BOM的UTF-8的文件

    BOM是Byte Order Mark的缩写,中文可译为“字节顺序标记”,它在UTF-8编码中用来标识文件的编码类型。UTF-8是一种广泛使用的字符编码标准,它可以表示世界上几乎所有的字符。然而,UTF-8的BOM并不是必需的,因为UTF-...

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

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

    gb2312编码转utf-8编码

    3. **转换编码**:使用编程语言提供的函数或库,如Python的`codecs`模块,将GB2312字节序列解码为Unicode字符串,再将该字符串按照UTF-8编码规则重新编码为字节序列。 4. **写入新文件**:最后,将转换后的字节序列...

    此文件用于快速反查php文件中的UTF8编码的文件是不是加了BOM,有则显示,无则跳过。(php源码)。

    如何解决BOM:先放在服务器可执行目录下,使用 浏览器http://服务器ip/存放路径/bom.php来 访问,填写实际路径执行后可得到存在有BOM的PHP文件,然后再用notepad++打开,在菜单选“格式”-&gt;“转为UTF-8无BOM..”即可. ...

    zh-cn-utf8

    1. **PHP文件编码**:确保所有PHP源代码文件使用UTF-8无BOM格式保存。BOM(Byte Order Mark)可能会导致在某些情况下出现问题。 2. **HTTP头部**:在PHP脚本中通过`header()`函数设置响应头的`Content-Type`为`text...

    Web开发关于UTF-8的问题总结.docx

    在Web开发中,UTF-8编码是一个至关重要的概念,它是一种广泛使用的字符编码标准,能够支持全球大部分语言的字符表示。以下是对Web开发中遇到的UTF-8问题的详细总结: 1. HTML页面转UTF-8编码问题: - 在HTML文件的...

    php_web项目中utf-8的问题.do

    ### PHP Web项目中UTF-8编码问题详解 #### 一、HTML页面转UTF-8编码问题 1. **HTML头部元信息** 在`&lt;head&gt;`标签内,且位于`&lt;title&gt;`标签之前,必须添加`&lt;meta http-equiv="Content-Type" content="text/html;...

    php UTF-8、Unicode和BOM问题

    UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记。BOM,是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是...

    GBK批量转utf8(支持整个目录)

    当你需要将一个使用GBK编码的目录全部转换为UTF-8编码时,这个工具可以大大提高效率。它能遍历指定目录下的所有文件,包括子目录,将GBK编码的文本文件转换成UTF-8编码,同时保留原有的GBK编码版本,通过添加“bak”...

    Web_开发中遇到的UTF-8以及乱码的问题总结.zip

    1. **UTF-8编码的基本理解**:UTF-8是一种变长编码,其中英文字符使用1个字节,大部分常用汉字使用3个字节,少数不常用字符使用4-6个字节。这种设计使得UTF-8在兼容ASCII编码的同时,也支持全球多种语言。 2. **...

    PHP实例开发源码-风吟PHP版BOM移除工具.zip

    在处理UTF-8编码的PHP源代码时,有时会遇到文件头部存在Byte Order Mark(BOM)的情况。BOM是一个特殊字符序列,用于标识文件的编码方式,但在某些情况下,它可能会导致乱码或者程序运行异常。针对这个问题,风吟PHP...

    PHP批量删除、清除UTF-8文件BOM头的代码实例

    在处理文本数据时,尤其是从不同的系统或编辑器导出的文本文件,我们可能会遇到一个问题,那就是文件可能包含UTF-8编码的字节顺序标记(Byte Order Mark,简称BOM)。BOM通常用于UTF-16和UTF-32编码的文件中来标识...

    PHP页面转UTF-8中文编码乱码的解决办法

    最后,值得一提的是,在处理UTF-8编码文本时,标准的PHP函数如substr()并不完全适用于UTF-8编码的字符处理,因为它们是按字节来处理的,而UTF-8编码中一个字符可能占用多个字节。因此,需要使用专门处理UTF-8字符的...

    批量转UTF8工具-批量转UTF8工具

    5. 自定义设置:用户可以根据需求选择是否保留原文件的BOM(Byte Order Mark),BOM是UTF8编码的一种特殊标记,用于帮助解析器识别文件的编码。 EditPlus是其中一款可能包含的工具,它是一款强大的文本编辑器,支持...

    PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码

    在编辑器如EditPlus中,保存文件时选择UTF-8编码,注意不能选择带有BOM的UTF-8编码(UTF-8+BOM),因为这可能会在处理session时引入问题。如果使用Eclipse、MyEclipse或Zend Studio等开发环境,需要在首选项中设置...

Global site tag (gtag.js) - Google Analytics