最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php 不同編碼下的字符串長度區(qū)分

 更新時間:2009年09月26日 02:37:14   作者:  
php不同編碼下的字符串長度區(qū)分,下面是一些測試代碼,大家可以參考下。
UTF-8的中文字符串是三個字節(jié)
復制代碼 代碼如下:

<?php
//編碼UTF-8
echo strlen('測試文字a測試文字');
echo '-';
echo mb_strlen('測試文字a測試文字','utf-8');
?>
輸出:25-9

GB2312的中文字符串是二個字節(jié)
復制代碼 代碼如下:

<?php
//編碼GB2312
echo strlen('測試文字a測試文字');
echo '-';
echo mb_strlen('測試文字a測試文字','Gb2312');
?>

輸出:17-9
在Mysql數(shù)據(jù)庫(5.1以后的版本)中,如果字段類型為varchar(10)則可插入10個字符(不是字節(jié));
所以在判斷字符串的長度時需要根據(jù)文檔編碼來區(qū)分。
符一個簡單的UTF-8下字符串截?。ò醋址麄€數(shù)截?。?
復制代碼 代碼如下:

<?
/*
* 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>';
?>

相關文章

最新評論

丹阳市| 元阳县| 奉新县| 济阳县| 赤水市| 墨玉县| 奎屯市| 石泉县| 外汇| 达孜县| 登封市| 蛟河市| 南木林县| 环江| 万安县| 凉城县| 仙桃市| 白水县| 新绛县| 章丘市| 巴东县| 吉木萨尔县| 平乡县| 临安市| 光山县| 博兴县| 绵竹市| 韶关市| 平乐县| 大新县| 台江县| 綦江县| 嘉鱼县| 云浮市| 连州市| 清新县| 芦溪县| 广宗县| 施甸县| 宝丰县| 甘孜|