社区
基础编程
帖子详情
如何截取中文字符串保证不出现乱码?
JiYangTX
2006-01-01 03:57:25
如何截取中文字符串保证不出现乱码?
如字符串 "a你好!还有好多字aaaa"截10个字怎么保证不出现乱码?
最好能给个代码
...全文
411
5
打赏
收藏
如何截取中文字符串保证不出现乱码?
如何截取中文字符串保证不出现乱码? 如字符串 "a你好!还有好多字aaaa"截10个字怎么保证不出现乱码? 最好能给个代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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;
}
PHP中的
字符串
截取
函数,取子符串,以
保证
中文
不
出现乱码
此博客给出了一个用PHP编写的
字符串
截取
函数KTSubstr。该函数接收
字符串
、开始位置和
截取
长度作为参数,通过一系列条件判断和处理,实现对
字符串
的
截取
,并根据情况返回
截取
后的
字符串
,还考虑了
中文
字符的处理。
mysql
中文
截取
_
中文
字符串
截取
本文探讨了在处理包含
中文
的
字符串
时,如何进行有效
截取
的多种方法,包括Java、PHP和MySQL中的
截取
函数。强调了在不同编码下,如UTF-8,处理
中文
字符
截取
时的注意事项,以及防止乱码问题的策略。同时提到了前端文本多行省略的挑战,以及在iOS和Android中处理
字符串
截取
的差异。
java
中文
怎么
截取
_Java
截取
字符串
的函数且
保证
中文
截取
正常
本文介绍了一种使用Java
截取
包含
中文
字符的
字符串
的方法,确保
截取
过程不会
出现乱码
,并提供了一个示例程序来演示如何正确地处理
中文
字符串
的
截取
。
substr
截取
中文
字符
出现乱码
的解决方法二则
本文介绍了一种优化的RSS内容
截取
方法,解决了使用substr()函数处理
中文
字符时出现的乱码问题。通过自定义getstr()函数,实现了对不同编码(UTF-8和GB2312)下
中文
字符串
的有效
截取
,确保了不会因截断汉字而导致乱码,并保持了较好的显示长度一致性。
php
中文
字,完善解决
截取
中文
汉字不乱码-PHP
字符串
函数(支持utf8、GBK、GB2312)
本文介绍了使用PHP处理GB2312、GBK及UTF-8编码
字符串
的方法,包括三个实用函数,能够准确
截取
不同编码下的
中文
字符,避免乱码问题。
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章