当前位置:首页 » 编程语言 » 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);

热点内容
eclipse查看jar包源码 发布:2025-02-12 23:59:35 浏览:972
电脑主机服务器维修 发布:2025-02-12 23:59:26 浏览:301
sqlserver标识 发布:2025-02-12 23:51:33 浏览:462
安卓怎么玩地牢猎人 发布:2025-02-12 23:50:25 浏览:943
思乡脚本 发布:2025-02-12 23:43:32 浏览:439
java的job 发布:2025-02-12 23:38:43 浏览:892
我的世界服务器授权指令 发布: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