最新国产好看的视频,伊人天堂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");

******************************************丑陋的分割線(xiàn)來(lái)告訴大家上面的不好的:下面的才是正確的方法···哈哈···**********************************************************

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') {//本來(lái)就是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)容感興趣的讀者可查看本站專(zhuān)題:《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的操作步驟,文中通過(guò)圖文結(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)秀的國(guó)產(chǎn)開(kāi)源php框架,有需要的小伙伴可以關(guān)注下。
    2015-07-07
  • php偽協(xié)議實(shí)現(xiàn)命令執(zhí)行詳情

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

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

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

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

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

    這篇文章主要介紹了PHP實(shí)現(xiàn)redis限制單ip、單用戶(hù)的訪問(wèn)次數(shù)功能,結(jié)合實(shí)例形式分析了php連接redis及獲取、記錄客戶(hù)端信息,并限制客戶(hù)訪問(wèn)次數(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ū)間長(zhǎng)度劃分各個(gè)區(qū)間,并在其中尋找與給定數(shù)最接近的數(shù),需要的朋友可以參考下
    2015-06-06
  • php頁(yè)面防重復(fù)提交方法總結(jié)

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

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

最新評(píng)論

湛江市| 吴堡县| 浑源县| 当雄县| 唐河县| 浮山县| 怀仁县| 大姚县| 池州市| 仁化县| 钦州市| 阿尔山市| 虎林市| 宕昌县| 九台市| 南宁市| 遂溪县| 镇远县| 盘山县| 沅陵县| 福建省| 雷山县| 吉木乃县| 新竹县| 新泰市| 图木舒克市| 云和县| 梓潼县| 龙川县| 沂水县| 平安县| 辽宁省| 南溪县| 石泉县| 惠安县| 榆树市| 孝昌县| 酉阳| 荃湾区| 南丹县| 正阳县|