最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP讀取文件,解決中文亂碼UTF-8的方法分析

 更新時(shí)間:2020年01月22日 11:30:27   作者:luyaran  
這篇文章主要介紹了PHP讀取文件,解決中文亂碼UTF-8的方法,結(jié)合實(shí)例形式對(duì)比分析了PHP文件讀取及編碼轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP讀取文件,解決中文亂碼UTF-8的方法。分享給大家供大家參考,具體如下:

$opts = array(
  'file' => array(
    'encoding' => "utf-8"
  )
);
$opts = array('http' => array('encoding' => 'utf-8'));
$ctxt = stream_context_create($opts);
$content = file_get_contents($filePath, FILE_TEXT, $ctxt);

最簡(jiǎn)單的就是將GF2312→UTF-8

$str = iconv("gb2312", "utf-8", $str);

不管用的

$content = mb_convert_encoding($content, "UTF-8", "auto");

******************************************丑陋的分割線來告訴大家上面的不好的:下面的才是正確的方法···哈哈···**********************************************************

define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));

$text = file_get_contents($newPath);
$first2 = substr($text, 0, 2);
$first3 = substr($text, 0, 3);
$first4 = substr($text, 0, 3);
$encodType = "";
if ($first3 == UTF8_BOM)
  $encodType = 'UTF-8 BOM';
else if ($first4 == UTF32_BIG_ENDIAN_BOM)
  $encodType = 'UTF-32BE';
else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)
  $encodType = 'UTF-32LE';
else if ($first2 == UTF16_BIG_ENDIAN_BOM)
  $encodType = 'UTF-16BE';
else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)
  $encodType = 'UTF-16LE';

$content = file_get_contents($newPath);

$content = iconv($encodType, "utf-8", $content);

終極版·····

$text = file_get_contents($filePath);
//$encodType = mb_detect_encoding($text);
define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
$first2 = substr($text, 0, 2);
$first3 = substr($text, 0, 3);
$first4 = substr($text, 0, 3);
$encodType = "";
if ($first3 == UTF8_BOM)
  $encodType = 'UTF-8 BOM';
else if ($first4 == UTF32_BIG_ENDIAN_BOM)
  $encodType = 'UTF-32BE';
else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)
  $encodType = 'UTF-32LE';
else if ($first2 == UTF16_BIG_ENDIAN_BOM)
  $encodType = 'UTF-16BE';
else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)
  $encodType = 'UTF-16LE';
//下面的判斷主要還是判斷ANSI編碼的·
if ($encodType == '') {//即默認(rèn)創(chuàng)建的txt文本-ANSI編碼的
  $content = iconv("GBK", "UTF-8", $text);
} else if ($encodType == 'UTF-8 BOM') {//本來就是UTF-8不用轉(zhuǎn)換
  $content = $text;
} else {//其他的格式都轉(zhuǎn)化為UTF-8就可以了
  $content = iconv($encodType, "UTF-8", $text);
}

以上的終極版·可以適應(yīng)中文操作windows系統(tǒng)建立的ANSI``````````````UTF-8`````````Unicode`````的txt文本····

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》及《PHP錯(cuò)誤與異常處理方法總結(jié)

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 如何用php獲取程序執(zhí)行的時(shí)間

    如何用php獲取程序執(zhí)行的時(shí)間

    本篇文章是對(duì)使用php獲取程序執(zhí)行的時(shí)間進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 用vscode運(yùn)行php的圖文詳解

    用vscode運(yùn)行php的圖文詳解

    這篇文章給大家介紹了使用vscode運(yùn)行php的操作步驟,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • PHP性能分析工具XHProf安裝使用教程

    PHP性能分析工具XHProf安裝使用教程

    這篇文章主要介紹了PHP性能分析工具XHProf安裝使用教程,本文給出詳細(xì)安裝步驟和配置方法以及使用實(shí)例,需要的朋友可以參考下
    2015-05-05
  • ThinkPHP安裝和設(shè)置

    ThinkPHP安裝和設(shè)置

    本文是ThinkPHP的系列教程的第一篇,本系列一共七篇,我們將從簡(jiǎn)到難,由淺入深,給大家詳細(xì)介紹這款優(yōu)秀的國產(chǎn)開源php框架,有需要的小伙伴可以關(guān)注下。
    2015-07-07
  • php偽協(xié)議實(shí)現(xiàn)命令執(zhí)行詳情

    php偽協(xié)議實(shí)現(xiàn)命令執(zhí)行詳情

    這篇文章主要介紹了php偽協(xié)議實(shí)現(xiàn)命令執(zhí)行詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,感興趣的朋友可以參考一下
    2022-06-06
  • php cookies中刪除的一般賦值方法

    php cookies中刪除的一般賦值方法

    php cookies中刪除的一般賦值方法 cookie 常用于識(shí)別用戶。cookie 是服務(wù)器留在用戶計(jì)算機(jī)中的小文件。
    2011-05-05
  • PHP實(shí)現(xiàn)redis限制單ip、單用戶的訪問次數(shù)功能示例

    PHP實(shí)現(xiàn)redis限制單ip、單用戶的訪問次數(shù)功能示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)redis限制單ip、單用戶的訪問次數(shù)功能,結(jié)合實(shí)例形式分析了php連接redis及獲取、記錄客戶端信息,并限制客戶訪問次數(shù)等操作技巧,需要的朋友可以參考下
    2018-06-06
  • 深入PHP autoload機(jī)制的詳解

    深入PHP autoload機(jī)制的詳解

    本篇文章是對(duì)PHP中的autoload機(jī)制進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php獲取指定范圍內(nèi)最接近數(shù)的方法

    php獲取指定范圍內(nèi)最接近數(shù)的方法

    這篇文章主要介紹了php獲取指定范圍內(nèi)最接近數(shù)的方法,可實(shí)現(xiàn)根據(jù)給定區(qū)間長度劃分各個(gè)區(qū)間,并在其中尋找與給定數(shù)最接近的數(shù),需要的朋友可以參考下
    2015-06-06
  • php頁面防重復(fù)提交方法總結(jié)

    php頁面防重復(fù)提交方法總結(jié)

    有時(shí)候我們的程序執(zhí)行比較慢,而且我們頁面也不怎么友好,沒什么提示信息。操作人員以為沒有點(diǎn)擊提交按鈕,就會(huì)再一次點(diǎn)擊提交。這會(huì)導(dǎo)致很多問題出現(xiàn)。下面介紹三種防重復(fù)提交的方法
    2013-11-11

最新評(píng)論

广丰县| 桃江县| 南丹县| 宜君县| 延长县| 彭阳县| 株洲市| 卫辉市| 新绛县| 伽师县| 招远市| 红桥区| 尤溪县| 湾仔区| 高淳县| 施秉县| 阜城县| 兴宁市| 保德县| 苏州市| 垦利县| 水城县| 应用必备| 泾阳县| 德钦县| 灵丘县| 北票市| 邓州市| 焦作市| 章丘市| 甘南县| 全椒县| 南平市| 永城市| 灵石县| 深泽县| 花莲市| 涿州市| 扶风县| 万年县| 油尖旺区|