婷婷综合国产,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
主站蜘蛛池模板: 屏东县| 策勒县| 灌阳县| 西畴县| 临洮县| 闸北区| 石家庄市| 新乐市| 双牌县| 扎鲁特旗| 蒙自县| 紫云| 比如县| 南岸区| 哈尔滨市| 桃园市| 新干县| 长宁区| 洛南县| 普安县| 泗洪县| 英吉沙县| 高青县| 赤水市| 行唐县| 黎城县| 筠连县| 桃园县| 宽甸| 宾阳县| 长海县| 青川县| 茌平县| 凌源市| 额济纳旗| 定日县| 正宁县| 罗甸县| 财经| 大庆市| 浪卡子县|