UTF-8的中文字符串是三个字节
<?php
//编码UTF-8
echo strlen(‘测试文字a测试文字’);
echo ‘-‘;
echo mb_strlen(‘测试文字a测试文字’,’utf-8′);
?>
输出:25-9
GB2312的中文字符串是二个字节
<?php
//编码GB2312
echo strlen(‘测试文字a测试文字’);
echo ‘-‘;
echo mb_strlen(‘测试文字a测试文字’,’Gb2312′);
?>
输出:17-9
在Mysql数据库(5.1以后的版本)中,如果字段类型为varchar(10)则可插入10个字符(不是字节);
所以在判断字符串的长度时需要根据文档编码来区分。
符一个简单的UTF-8下字符串截取(按字符个数截取)
<?
/*
* UTF-8字符串截取
* $str 要截取的字串
* $start 截取起始位置
* $length 截取长度
*/
function cutStr($str,$start,$length) {
$restr = ”;
$j = 0;
$end = $length + $start – 1;
$plen = strlen($str);
for($i=0;$i<$plen;$i++) {
$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i].$str[++$i] : $str[$i];
$j++;
if ($j < $start){$restr = ”;}
if ($j >= $end){break;}
}
$restr .=”;
return $restr;
}
$str = ‘中新网9月24日电 二十国集团(G20)领导人第三次金融峰会今日将在美国匹兹堡召开。’;
echo $str;
echo ‘<br>’;
echo utf8_substr($str,0,25);
echo ‘<br>’;
?>
波比源码 » php不同编码下的字符串长度区分
buy levofloxacin online cheap levofloxacin 250mg tablet
buy generic avodart 0.5mg brand tamsulosin buy ondansetron 8mg
aldactone 25mg over the counter order spironolactone 100mg online cheap fluconazole online order
ampicillin 250mg brand buy ampicillin 250mg generic order generic erythromycin 500mg
fildena canada order nolvadex 20mg online cheap brand robaxin 500mg
buy suhagra 100mg online cheap buy sildalis pills buy estradiol 1mg online cheap
lamotrigine 50mg usa generic minipress purchase tretinoin sale
buy tadalis generic tadalafil 10mg buy voltaren 100mg online cheap
purchase indomethacin generic terbinafine buy online purchase trimox pills
cialis for sales best medication for ed viagra overnight delivery
order anastrozole 1mg sale Viagra mail order us viagra professional
tadalafil sans ordonnance en pharmacie sildenafil 25mg pour homme sildenafil generique pas cher
oral deltasone 40mg buy cheap generic cialis order sildenafil 50mg online cheap
tadalafil kaufen für männer tadalafil 10mg generika sildenafil 100mg generika
accutane 20mg tablet order generic stromectol 3mg ivermectin 3mg online
doxycycline 200mg generic lasix 40mg generic order lasix 40mg online
ramipril brand astelin 10 ml for sale order generic azelastine 10ml
purchase clonidine buy generic meclizine 25mg order generic tiotropium bromide
order buspar 10mg sale buy ditropan 2.5mg for sale order oxybutynin pill
hytrin 5mg without prescription hytrin cheap buy azulfidine 500 mg pill
alendronate 35mg tablet fosamax price pepcid for sale online
order olmesartan 20mg without prescription diamox 250mg drug buy diamox 250 mg online cheap
prograf pills ursodiol 300mg drug purchase ursodiol online
order molnunat 200 mg generic purchase molnunat pills buy prevacid 15mg pill
order sertraline 100mg sale order sertraline 100mg pills order sildenafil online
order generic revia 50 mg buy letrozole 2.5 mg online cheap buy abilify 20mg
avlosulfon over the counter adalat 30mg price order aceon 8mg for sale
modafinil 200mg oral online pharmacies canada ivermectin for humans
order generic fluvoxamine 50mg glipizide price order glucotrol 5mg pill
accutane 10mg price prednisone 20mg generic order prednisone 40mg generic
piracetam pills order sildenafil for sale viagra 100mg us
buy zithromax 500mg generic cheap prednisolone pills order neurontin 100mg generic
buy generic chloroquine 250mg cenforce canada buy baricitinib 4mg online cheap
order metformin 1000mg sale order lipitor 40mg online order cialis 20mg
amlodipine 10mg for sale order norvasc 5mg for sale purchase cialis generic
buy clozapine 100mg online dexamethasone 0,5 mg usa order dexamethasone 0,5 mg generic
order sildenafil 100mg online cheap viagra price buy lisinopril 10mg sale
order prilosec 10mg online play great poker online free casino slots
brand linezolid 600mg online casinos ladbrokes uk
write papers for me buy a dissertation best online gambling sites
order tadalafil 20mg for sale cialis pharmacy oral sildenafil 100mg
tadalafil 40 mg sildenafil on line viagra sildenafil
purchase orlistat for sale brand xenical 60mg order generic zovirax 800mg
purchase tadalafil generic purchase inderal sale purchase plavix pills
cost zyloprim zetia brand zetia 10mg ca
order generic losartan order topamax 100mg generic oral topamax 200mg
order imitrex without prescription dutasteride drug purchase avodart for sale
colchicine price blackjack online betting online casino usa
ranitidine usa ranitidine 300mg canada order celecoxib 200mg online cheap
online money poker free slot play real money casino
flomax pill cheap ondansetron buy aldactone 25mg pills
brand tadalafil 10mg ciprofloxacin 500mg cheap cost cipro 500mg
zocor without prescription valacyclovir 1000mg brand order proscar 1mg pills
diflucan 200mg pills viagra 50mg sale order viagra online
buy sildenafil generic order viagra 50mg online cheap tadalafil 40mg drug
ceftin order online order cefuroxime 250mg for sale buy methocarbamol 500mg generic
best online casino for real money empire casino online tadalafil 10mg cost
order trazodone 50mg sale sildenafil ca generic sildenafil
letter writing services order stromectol 3mg online generic stromectol
win real money online casino for free blue pill for ed tadalafil 40mg brand
azithromycin 500mg pill prednisolone 5mg us buy neurontin 600mg for sale
order furosemide 40mg pills doxycycline 200mg pill plaquenil 200mg pill
sildenafil 50mg oral sildenafil cheap order rhinocort pill