社区
基础编程
帖子详情
如何截取中文字符串保证不出现乱码?
JiYangTX
2006-01-01 03:57:25
如何截取中文字符串保证不出现乱码?
如字符串 "a你好!还有好多字aaaa"截10个字怎么保证不出现乱码?
最好能给个代码
...全文
374
5
打赏
收藏
如何截取中文字符串保证不出现乱码?
如何截取中文字符串保证不出现乱码? 如字符串 "a你好!还有好多字aaaa"截10个字怎么保证不出现乱码? 最好能给个代码
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
arcow
2006-01-02
打赏
举报
回复
/**
* 截取中文部分字符串
*
* 截取指定字符串指定长度的函数,该函数可自动判定中英文,不会出现乱码
*
* @access public
* @param string $str 要处理的字符串
* @param int $strlen 要截取的长度默认为10
* @param string $other 是否要加上省略号,默认会加上
* @return string
*/
function showtitle($str,$strlen=26,$other=false) {
for($i=0;$i<$strlen;$i++)
if(ord(substr($str,$i,1))>0xa0) $j++;
if($j%2!=0) $strlen++;
$rstr=substr($str,0,$strlen);
if (strlen($str)>$strlen && $other) {$rstr.='...';}
return $rstr;
}
JiYangTX
2006-01-02
打赏
举报
回复
还没人回就沉了,顶下
Fibona
2006-01-02
打赏
举报
回复
给一个我自己写的参考一下
/*
进行字符串的截取
$start:为子字符串的开始位置,
$len为子字符串的长度
$str为截取的字符串
返回$str中从start开始的,长度为len的字符串的长度
作者:(fibona)熊祥众
日期:2005年12月
*/
function KTSubstr($str,$start,$len)
{
if($start< 0 && $len < 0)
{
return $str;
}
if(($start+$len) >= strlen($str))
{
return substr($str,$start,$len);
}
else
{
$j=0;
$num=$len;
for($i=$start; $i< $num-1;$i++)
{
if(ord(substr($str,$i,1))>0xa0) $j++;
}
if($j%2!=0)
{
$num=$num+1;
}else
{
$num=$num;
}
return substr($str,$start,$num-1)."...";
/*
if(ord(substr($str,$start+$len,1))>0xa0)
{
$m_strlen=$len+1;
//echo $m_strlen;
//echo "<hr>";
}
else
{
$m_strlen=$len;
}
return substr($str,$str,$m_strlen-1);
*/
}
}
surfchen
2006-01-02
打赏
举报
回复
mb_string
thunderx
2006-01-02
打赏
举报
回复
做循环,一个一个的数下去,遇到中文字符就往下走一位,直到相应长度为止;
注意,判断中文字符的时候用0x80,0xa1只适合gb2312的,而0x80+是适合GBK的,保险一些!
函数简单举例如下:
function cutGBK($pString,$pLength,$sign='...'){
$length = strlen($pString);
if($pLength > $length) {
$res = $pString.$sign;
}else{
for($i=0;$i<=$pLength;$i++){
if (ord(substr($pString,$i,1)) > 0x80){
$res .= substr($pString,$i,2);
$i++;
}else{
$res .= substr($pString,$i,1);
}
}
}
return $res.$sign;
}
解析使用substr
截取
UTF-8
中文
字符串
出现乱码
的问题
本篇文章是对使用substr
截取
UTF-8
中文
字符串
出现乱码
的问题进行了详细的分析介绍,需要的朋友参考下
php
截取
中文
字符串
不乱码的方法
GBK编码
截取
示例 复制代码 代码如下:$str = ‘我是谁’; //gbk编码的
字符串
echo mb_substr($str, 0, 1, ‘gbk’); //输出 我 mb_substr方法比substr多一个参数,用来指定
字符串
编码。 utf-8编码
截取
示例 [code]$str = ‘我abc是谁’; //utf-8编码的
字符串
echo mb_substr($str, 0, 2, ‘utf-8’); //输出 我a[/code 中英混合也完全没有问题。 友情提示 使用的时候要注意php文件的编码,和网页显示时的编码。 使用这个mb_substr方法要事先知道
字符串
的编码,如果不知
Golang
中文
字符串
截取
函数实现原理
在golang中可以通过切片
截取
一个数组或
字符串
,但是当
截取
的
字符串
是
中文
时,可能会出现问题,下面我们来自定义个函数解决Golang
中文
字符串
截取
问题
java按字节
截取
带有汉字的
字符串
的解法(推荐)
下面小编就为大家带来一篇java按字节
截取
带有汉字的
字符串
的解法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JAVA如何按字节
截取
字符串
主要介绍了JAVA如何按字节
截取
字符串
,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章