php如何判断编码格式,php 中文和编码判断代码

编码范围1.GBK(GB2312/GB18030)

x00-xffGBK双字节编码范围

x20-x7fASCII

xa1-xff中文

x80-xff中文

2.UTF-8(Unicode)

u4e00-u9fa5(中文)

x3130-x318F(韩文

xAC00-xD7A3(韩文)

u0800-u4e00(日文)

ps:韩文是大于[u9fa5]的字符

正则例子:

preg_replace(”/([x80-xff])/”,”",$str);

preg_replace(”/([u4e00-u9fa5])/”,”",$str);

二、代码例子

复制代码代码如下:

//判断内容里有没有中文-GBK(PHP)

functioncheck_is_chinese($s){

returnpreg_match('/[x80-xff]./',$s);

}

//获取字符串长度-GBK(PHP)

functiongb_strlen($str){

$count=0;

for($i=0;$i

$s=substr($str,$i,1);

if(preg_match("/[x80-xff]/",$s))++$i;

++$count;

}

return$count;

}

//截取字符串字串-GBK(PHP)

functiongb_substr($str,$len){

$count=0;

for($i=0;$i

if($count==$len)break;

if(preg_match("/[x80-xff]/",substr($str,$i,1)))++$i;

++$count;

}

returnsubstr($str,0,$i);

}

//统计字符串长度-UTF8(PHP)

functionutf8_strlen($str){

$count=0;

for($i=0;$i

$value=ord($str[$i]);

if($value>127){

$count++;

if($value>=192&&$value<=223)$i++;

elseif($value>=224&&$value<=239)$i=$i+2;

elseif($value>=240&&$value<=247)$i=$i+3;

elsedie('NotaUTF-8compatiblestring');

}

$count++;

}

return$count;

}

//截取字符串-UTF8(PHP)

functionutf8_substr($str,$position,$length){

$start_position=strlen($str);

$start_byte=0;

$end_position=strlen($str);

$count=0;

for($i=0;$i

if($count>=$position&&$start_position>$i){

$start_position=$i;

$start_byte=$count;

}

if(($count-$start_byte)>=$length){

$end_position=$i;

break;

}

$value=ord($str[$i]);

if($value>127){

$count++;

if($value>=192&&$value<=223)$i++;

elseif($value>=224&&$value<=239)$i=$i+2;

elseif($value>=240&&$value<=247)$i=$i+3;

elsedie('NotaUTF-8compatiblestring');

}

$count++;

}

return(substr($str,$start_position,$end_position-$start_position));

}

//判断是否是有韩文-UTF-8(JavaScript)

functioncheckKoreaChar(str){

for(i=0;i

if(((str.charCodeAt(i)>0x3130&&str.charCodeAt(i)<0x318F)||(str.charCodeAt(i)>=0xAC00&&str.charCodeAt(i)<=0xD7A3))){

returntrue;

}

}

returnfalse;

}

//判断是否有中文字符-GBK(JavaScript)

functioncheck_chinese_char(s){

return(s.length!=s.replace(/[^x00-xff]/g,"**").length);

}

您可能感兴趣的文章:详谈PHP编码转换问题php检测文本的编码PHP中文编码小技巧PHP检测字符串是否为UTF8编码的常用方法php中的字符编码转换函数用法示例PHP学习笔记之字符串编码的转换和判断php简单判断文本编码的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值