婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網站建設 > 建站知識 > UTF-8文件的BOM頭的來由及去除方法

UTF-8文件的BOM頭的來由及去除方法

POST TIME:2021-05-20 11:08

1. 什么是BOM頭
    在utf-8編碼文件中BOM在文件頭部,占用三個字節,用來標識該文件屬于utf-8編碼,現在已經有很多軟件識別BOM頭,但還是有些不能識別BOM頭,比如PHP就不能識別BOM頭,這也就是用記事本編輯utf-8編碼的PHP文件后,就會報錯的原因。
 
2. 包含BOM頭文件的產生
    在windows環境下,用記事本打開任何一個文本文件,另存為utf-8格式后,這樣文件就自動被加上了BOM頭信息。
    比較:
            utf-8(含BOM頭)
            UTF-8文件的BOM頭的來由及去除方法
            utf-8(不含BOM頭)
            UTF-8文件的BOM頭的來由及去除方法
    
    從上圖的比較中,可以很明顯的看出,含BOM頭的文件多出三個字節 efbbbf。
 
3. BOM頭信息的去除方法
    用Notepad++打開文件,選擇 格式 -> 以UTF-8無BOM格式編碼,再保存就行。如下圖:
 
4. 在PHP類的項目中,自動處理BOM頭信息(只需要將此文件放在項目根目錄下,從瀏覽器訪問即可)
01 <</font>?php
02  
03 if (isset($_GET['dir'])) { //設置文件目錄  
04     $basedir = $_GET['dir'];
05 else {
06     $basedir = '.';
07 }
08  
09 checkdir($basedir);
10  
11  
12 function checkdir($basedir) {
13     if ($dh = opendir($basedir)) {
14         while (($file = readdir($dh)) !== false) {
15             if ($file != '.' && $file != '..') {
16                 if (!is_dir($basedir . "/" . $file)) {
17                     echo "filename: $basedir/$file " . checkBOM("$basedir/$file") . "
18 ";
19                 else {
20                     $dirname = $basedir . "/" . $file;
21                     checkdir($dirname);
22                 }
23             }
24         }
25         closedir($dh);
26     }
27 }
28  
29  
30 function checkBOM($filename, $auto = 1) {
31     $contents = file_get_contents($filename);
32     $charset[1] = substr($contents, 0, 1);
33     $charset[2] = substr($contents, 1, 1);
34     $charset[3] = substr($contents, 2, 1);
 



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 清镇市| 宜兰县| 金堂县| 临夏市| 太湖县| 古浪县| 昭觉县| 巴塘县| 静乐县| 襄汾县| 闻喜县| 华阴市| 合肥市| 吉安县| 剑川县| 清新县| 昌江| 闻喜县| 曲麻莱县| 江油市| 巴楚县| 咸宁市| 富民县| 怀远县| 博野县| 溧水县| 达日县| 台前县| 山丹县| 湘乡市| 班戈县| 本溪| 奈曼旗| 铁岭县| 隆安县| 北安市| 南充市| 蓬溪县| 图木舒克市| 乐陵市| 九龙城区|