`
linlin_xiao
  • 浏览: 16266 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

去掉UTF签名

    博客分类:
  • php
 
阅读更多

<?php
/*去掉utf8签名 */
 
/* 方法一:读取文件前三个字节,然后判断处理  */

function removebom($filename){
 $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) {
  $rest = substr($contents, 3);
  file_put_contents ($filename, $rest);
 }
}

 

/* 方法二:采用正则的16进制查找替换 */
 

$contents=file_get_contents('u.txt');
$contents=preg_replace('/\xef\xbb\xbf/','',$contents);
file_put_contents('u.txt', $contents);
 

 

/* 方法三:读取文件后,直接文件指针定位,忽略前三个字节 */

$fp=fopen('u.txt','rw');
fseek($fp,3);
$contents='';
while (($buffer = fgets($fp, 4096z)) !== false) {
    $contents.=$buffer;
}
file_put_contents('u.txt',$contents);

 


/* 方法三:打包特殊的标记,然后用字符串替换掉 */

function remove_utf8_bom($text){
    $bom = pack('H*','EFBBBF');
    $text = preg_replace("/^$bom/", '', $text);
    return $text;
}

 

 

分享到:
评论

相关推荐

    php UTF8 文件的签名问题

    解决这个问题的方法很简单,只需要去掉文件中的UTF-8签名即可。在实际工作中,如果确定文件不需要BOM来保证编码识别,应该养成习惯去除非必需的BOM签名。在使用文本编辑器保存文件时,可以设置保存选项去掉BOM,或者...

    阿里云API 签名机制(C#) 解决SignatureDoesNotMatch错误

    // 去掉末尾的"&" if (canonicalizedQueryString.Length &gt; 0) { canonicalizedQueryString = canonicalizedQueryString.Substring(0, canonicalizedQueryString.Length - 1); } // 构建签名字符串 var ...

    ASP电子商务网站订单签名实现.rar

    3. **订单数据的处理**:在生成签名前,需要对订单数据进行预处理,比如去除空格、转换为统一的字符编码(通常为UTF-8),并按照特定顺序排列所有字段。 4. **签名的存储与验证**:生成的签名通常会附加在订单数据...

    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编码的,但在某些情况下,...

    PHP 中的 Unicode 签名.doc

    1. **在Dreamweaver或其他编辑器中禁用BOM**:在保存文件为UTF-8编码时,确保不勾选“包括Unicode签名(BOM)”选项。这样可以避免在文件开头生成BOM,从而防止PHP误将其视为已输出的内容。 2. **PHP脚本处理BOM**:...

    用PHP去掉文件头的Unicode签名(BOM)方法

    在提供的内容中,作者分享了一段PHP代码来检测并去除UTF-8编码文件中的BOM。代码的主体是一个checkBOM函数,它读取文件的前三个字节,并检查它们是否等于BOM的字节序列(EF BB BF)。如果是,就从文件内容中删除这前...

    PYTHON实现SIGN签名的过程解析

    - 确保接口与接入方在计算签名时使用的字符串编码一致,通常推荐使用UTF-8编码,避免因编码不同导致的签名校验失败问题。 - 签名过程必须严格遵循,任何参数的遗漏、顺序错误或编码不一致都可能导致签名验证失败。...

    Android 获取签名公钥和公钥私钥加解密的方法(推荐)

    2. `PackageInfo`中的`signatures`数组包含了应用的所有签名,通常只有一个签名,因此我们可以取第一个签名`signatures[0]`。 3. 将签名转换为字节数组,并通过`CertificateFactory`实例化为`X.509`证书。 4. 从证书...

    Discuz! X2 R20120628 简体UTF-8.zip

    FIX QQ互联去掉群组里面多余的嵌入点 FIX 完善目录可写的检测 FIX 游客发的审核帖,游客将不再能查看 FIX 站外url不解析时的BUG FIX 手机版顶部导航问题 FIX 后台回收站翻页bug ...

    必付宝代付api技术接口v1.52

    - URL编码:最后,将所有参数值进行URL encode(编码方式为utf-8),并附加签名(SIGNED_MSG=签名)。 举例说明: 1. 原始未加密签名串:`BANK_CODE=CCc&BANK_NO=123123123123213&MERCHANT_ID=16800test01&NAME=...

    PHP乱码终极版必杀.

    - 或者使用EditPlus,在菜单“首选项”-&gt;“文件”-&gt;"UTF-8标识"中设置为“总是删除签名”,然后保存文件去除BOM。 **4. WEB服务器UTF-8编码问题** - **知识点**: Web服务器的配置也会影响到页面的编码方式。 - ...

    PHP输出中文乱码问题.docx

    * 在 editplus 中,工具-&gt;参数选择-&gt;文件-&gt;UTF-8 签名,选择总是删除,即可去掉 BOM 信息 2. PHP 与 MySQL 的数据交互 * PHP 与数据库的编码应一致 * 修改 mysql 配置文件 my.ini 或 my.cnf,mysql 最好用 utf8 ...

    Discuz! X3.4 正式版 简体中文 UTF8 v20200818

    5、因视频认证已无法使用,去掉用户的个人空间 - 个人资料页的:“视频认证:未认证”。 6、修复 版块页未判断是否可发帖就显示验证码的问题 7、修复UC后台文件里的目录路径获取方式,方便站长更换入口名称 8、...

    VeryIDE Bee 互动营销**台 v1.5 UTF-8.rar

    更新 进度条新增两项基本配置,并支持同步签名档到论坛 更新 金币竞拍、活动和进度条模板化(Smarty),方便用户根据实际情况自定义 更新 金币竞拍增加个人和网站联系信息编辑和显示区,方便网站联系网友 更新 ...

    无心版移动免费短信 v1.2.zip

    程序说明:你能使用此程序免费发送短信到移动手机用户,注:由于移动限制,每一个邮箱每天仅能发送50条短信 ...2、去除每条短信后面的签名,您可以自由设置自己的签名。   3、新版程序采用新的服务器,更加稳定。

    完美解决PHP中文乱码

    推荐使用EditPlus编辑器来保存文件,并确保在“工具”-&gt;“参数选择”-&gt;“文件”中设置UTF-8签名选项为“总是删除”,以去除BOM信息。 2. **PHP字符串处理函数与编码兼容性** PHP默认不支持Unicode,因此在处理多...

    php中文乱码解决方案

    推荐使用EditPlus等编辑器保存,并在工具-&gt;参数选择-&gt;文件-&gt;UTF-8签名中选择“总是删除”,以确保去除BOM信息。 **2. 处理多字节字符串** 由于PHP本身不是Unicode编码,所以在处理中文等多字节字符串时,需要使用`...

    金海哲代付API接口文档1

    商户需将所有参数按字母升序排列,去除`sign`字段,形成签名串1,然后结合金海哲分配的签名私钥(key)形成签名串2,两者拼接后进行MD5加密生成32位签名,作为`sign`字段发送。 - **RSA解密**:用于解密API返回的...

    无心版移动短信发送 v1.2

     2、去除每条短信后面的签名,您可以自由设置自己的签名。 3、新版程序采用新的服务器,更加稳定。 无心版移动短信发送v1.2使用说明: 此程序采用移动139邮箱的短信接口,您无需加任何人为好友,就可以免费发送...

Global site tag (gtag.js) - Google Analytics