如何解决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问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文标题:如何解决php中隐形字符65279问题-创新互联
文章出自:http://ybzwz.com/article/dcpdpg.html