千家信息网

如何解决php中隐形字符65279问题

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍"如何解决php中隐形字符65279问题",在日常操作中,相信很多人在如何解决php中隐形字符65279问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年01月18日如何解决php中隐形字符65279问题

这篇文章主要介绍"如何解决php中隐形字符65279问题",在日常操作中,相信很多人在如何解决php中隐形字符65279问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何解决php中隐形字符65279问题"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

php隐形字符65279解释如下:

UTF-8 编码的文件可以分为无 BOM 和 BOM 两种格式。

何谓BOM?

  "EF BB BF" 这三个字节就叫BOM,全称是"Byte Order Mard"。在utf8文件中常用BOM来表明这个文件是UTF-8文件,而BOM的本意是在utf16中用。

  utf-8文件在php中输出的时候bom是会被输出的,所以要在php中使用utf-8,必须要是使用不带bom头的utf-8文件。

  常用的文本编辑软件对utf-8文件保存的支持方式并不一样,使用的时候要特别留意。

例如:

1、使用ultraedit时,另存时会有"UTF-8"和"UTF-8 - 无BOM"两种选择。
2、 window的记事本保存的是带bom的。
3、EditPlus软件不同版本对utf-8的保存支持不一样,例如:2.31版本保存的是不带bom的,2.11版本保存的是带bom的。

把utf-8文件头去掉的办法:

1、使用ultraedit另存,选择"UTF-8 - 无BOM"
2、一个很有用的php程序,放在站点根目录下运行,会把目录下全部utf-8文件的bom头去掉,代码如下:

//remove the utf-8 boms  //by magicbug at gmail dot com    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")." 
"; }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 ("BOM found, automatically removed."); } else { return ("BOM found."); } } else return ("BOM Not Found."); } function rewrite ($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); }

到此,关于"如何解决php中隐形字符65279问题"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

文件 utf-8 字符 问题 UTF-8 学习 版本 常用 时候 更多 软件 帮助 支持 输出 选择 不同 实用 接下来 三个 中用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术用学编程吗 软件开发属于哪个开票大类 岳阳软件开发培训学校 新航线网络技术有限公司 擒拿格斗视频软件开发 天阔曙光服务器怎么做raid 为什么玩游戏会显示服务器异常 工控信号检测pdf网络安全 明日不同服务器能交易吗 堡垒服务器多少钱 葫芦岛网络安全中心队长 云服务器云服务器架设 山西软件开发解决方案应用 邢台市网络安全公益广告 世界科技论文数据库 凌云诺切换服务器 高校网络安全升级改造服务方案 软件开发各阶段的时间分布 阿里巴巴网络安全新闻 深圳区域性消费平台软件开发 数据库语句求两字段值相减 上海中兴 软件开发面试 网络技术发展就是双刃剑 配置ip dns服务器 进行软件开发工具的主要类别 探索计算机网络技术 岳阳市网络技术职业学院 计算机网络技术专业英语 2121国家网络安全宣传周主题 游戏服务器维护成本
0