當前位置:首頁 » 編程語言 » php查看字元串的編碼

php查看字元串的編碼

發布時間: 2023-06-14 05:43:06

php有沒有判斷一個文件或者一段字元串是什麼編碼的函數

測試:將 text1.txt 保存成 ASCII編碼, text2.txt 保存成 UTF-8 編碼

<?php
function chkCode($string){
$code = array('ASCII', 'GBK', 'UTF-8');
foreach($code as $c){
if( $string === iconv('UTF-8', $c, iconv($c, 'UTF-8', $string))){
return $c;
}
}
return null;
}

$file = 'text1.txt';
echo chkCode(file_get_contents($file)); // 輸出ASCII
echo '<br />';

$file = 'text2.txt';
echo chkCode(file_get_contents($file)); // 輸出UTF-8
echo '<br />';
?>

Ⅱ PHP mb_convert_encoding 獲取字元串編碼類型實現代碼

後來又在手冊上找到了is_utf8函數,這樣,再結合iconv函數,我的問題就解決了。下面帖出這個函數:
復制代碼
代碼如下:
function
is_utf8($string)
{
return
preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E]
#
ASCII
|
[\xC2-\xDF][\x80-\xBF]
#
non-overlong
2-byte
|
\xE0[\xA0-\xBF][\x80-\xBF]
#
excluding
overlongs
|
[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}
#
straight
3-byte
|
\xED[\x80-\x9F][\x80-\xBF]
#
excluding
surrogates
|
\xF0[\x90-\xBF][\x80-\xBF]{2}
#
planes
1-3
|
[\xF1-\xF3][\x80-\xBF]{3}
#
planes
4-15
|
\xF4[\x80-\x8F][\x80-\xBF]{2}
#
plane
16
)*$%xs',
$string);
}
//
function
is_utf8
如果想深入研究,建議看下PHP手冊上的「Multibyte
String
Functions」這一部分的內容。

Ⅲ PHP 查找中文字元串

在PHP中查找中文字元,有兩種方案:

  1. 將PHP保存為與欲查找中文一樣的編碼,然後使用strpos查找。

  2. 將PHP保存為UTF-8無BOM編碼,然後轉換字元串編碼為UTF-8,再用strpos查找。


第一種方法:

strpos($curl_res,'中文');

第二種方法:

$str=mb_convert_encoding($str,'utf-8','gbk');
mb_strpos($str,'中文');


主意:函數中的中文字元串參數的編碼,必須要和PHP文件保存格式的編碼一致。

Ⅳ PHP:判斷字元串編碼是GB2312還是UTF

// 經常遇到這種情況,需要對URL中的字元串進行解碼,例如Google中搜索「編碼」,"編碼"會轉換為編碼,使用的是utf-8編碼// 綜合了網上搜集的資料和GB/UTF-8編碼方法,判斷一個中英文混雜的字元串是用GB2312/GBK編碼還是UTF-8編碼// 返回: true - 含GB編碼 false - 為UTF-8編碼function is_gb2312($str){ for($i=0; $i $v = ord( $str[$i] ); if( $v > 127) { if( ($v >= 228) && ($v = (strlen($str) - 1)) return true; // not enough characters $v1 = ord( $str[$i+1] ); $v2 = ord( $str[$i+2] ); if( ($v1 >= 128) && ($v1 =128) && ($v2

Ⅳ PHP編碼問題:資料庫中的字元集編碼。。。。。

流行的關系資料庫系統都支持資料庫字元集編碼,也就是說在創建資料庫時可以指定它自己的字元集設置,資料庫的數據以指定的編碼形式存儲。當應用程序訪問數據時,在入口和出口處都會有字元集編碼的轉換。對於中文數據,資料庫字元編碼的設置應當保證數據的完整性。GB2312、GBK、UTF-8 等都是可選的資料庫字元集編碼;當然我們也可以選擇 ISO8859-1 (8-bit),只是我們得在應

用程序寫數據之前先將 16Bit 的一個漢字或 Unicode 拆分成兩個 8-bit 的字元,讀數據之後也需要將兩個位元組合並起來,同時還要判別其中的 SBCS 字元,因此我們並不推薦採用 ISO8859-1 作為資料庫字元集編碼。這樣不但沒有充分利用資料庫自身的字元集編碼支持,而且同時也增加了編程的復雜度。編程時,可以先用資料庫管理系統提供的管理功能檢查其中的中文數據是否正確。

PHP 程序在查詢資料庫之前,首先執行 mysql_query("SET NAMES xxxx"); 其中 xxxx 是你網頁的編碼(charset=xxxx),如果網頁中 charset=utf8,則 xxxx=utf8,如果網頁中 charset=gb2312,則xxxx=gb2312,幾乎所有 WEB 程序,都有一段連接資料庫的公共代碼,放在一個文件里,在這文件里,加入 mysql_query("SET NAMES xxxx") 就可以了。

SET NAMES 顯示客戶端發送的 SQL 語句中使用什麼字元集。因此,SET NAMES 'utf-8' 語句告訴伺服器「將來從這個客戶端傳來的信息採用字元集 utf-8」。它還為伺服器發送回客戶端的結果指定了字元集(例如,如果你使用一個 SELECT 語句,它表示列值使用了什麼字元集)。

不知道這資料是不是你說的那些。呵呵~~~

Ⅵ 怎麼查看php文件是utf8

php如果你沒定義字元串的話都是以utf8傳遞的。如果你文件有繼承容器字元串的話就不會默認。每個編緝器都會有查看的。專業的緝編器就更加會有啦。比如Dreamweaver中,頁面屬性--標題編碼里就是了 其它的你自己找找看

Ⅶ php 怎樣判斷字元串是哪種編碼

php中有個函數可以用來檢查當前字元串的編碼類型
mb_detect_encoding($str,array('ASSCII',''GB2312','UTF-8));
PHP用MBString庫的函數
$e=mb_detect_encoding($text, array('UTF-8', 'GBK'));
switch($e){
case 'UTF-8' : //如果是utf8編碼
break;
case 『GBK』: //如果是gbk編碼
break
}

Ⅷ php 如何判斷字元是否是utf8編碼

嚴格來說,不好判斷,但如下方法或許能給你應急處理。 function is_utf8_encode($str, $flag=false){ static $charset = null; if($charset == null){ //gbk中的漢字,但是滿足utf-8的編碼規范,對於這些漢字當做gbk字元處理 $charstr = '隴摟簍擄鹵路脳脿謾貓茅錨矛鉚貌貿梅霉煤眉膩膿臎墨艅艌艒奴菐菒菕菙菛菢菤菧蓱傘藝藟藠藡藱螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍危韋違桅圍唯惟偽尾緯未蔚味畏胃喂魏位渭謂尉慰蟺蟻蟽蟿蠀蠁蠂蠄蠅衼袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖嘯笑效楔些歇蠍鞋協挾攜邪斜脅諧寫械卸蟹懈泄瀉謝屑薪芯鋅褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褢'; $charset = str_split($charstr, 2); $charset = array_flip($charset);}$pflag = true;$qflag = false; $len = strlen($str);

熱點內容
我的世界伺服器授權指令 發布:2025-02-12 23:30:13 瀏覽:596
電腦伺服器號在哪裡找 發布:2025-02-12 23:22:29 瀏覽:12
linux查看系統是32位 發布:2025-02-12 23:17:29 瀏覽:989
從資料庫中隨機取資料庫數據 發布:2025-02-12 23:17:25 瀏覽:878
ftp下載軟體安卓 發布:2025-02-12 23:07:24 瀏覽:567
c搜索演算法 發布:2025-02-12 23:05:47 瀏覽:862
返回伺服器地址 發布:2025-02-12 23:05:45 瀏覽:181
我的世界推薦在線伺服器 發布:2025-02-12 23:00:18 瀏覽:462
什麼是解壓目錄 發布:2025-02-12 22:49:24 瀏覽:981
惠普電腦選購要考慮哪些因素配置 發布:2025-02-12 22:43:50 瀏覽:223