PHP中处理截取汉字,出现乱码问题的2个类

汉字|问题

function  msubstr($str,$start,$len)  {    
       $strlen=$start+$len;    
       for($i=0;$i<$strlen;$i++)  {    
               if(ord(substr($str,$i,1))>0xa0)  {    
                       $tmpstr.=substr($str,$i,2);    
                       $i++;    
               }  else    
                       $tmpstr.=substr($str,$i,1);    
       }    
       return  $tmpstr;    
}  
 
-------------------------------------  
<?PHP  
$str="这个字符好长呀,'";  
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...  
Echo  "$Short_Str";  
Function  csubstr($str,$start,$len)    
{    
$strlen=strlen($str);    
$clen=0;    
for($i=0;$i<$strlen;$i++,$clen++)    
{    
if  ($clen>=$start+$len)    
break;    
if(ord(substr($str,$i,1))>0xa0)    
{    
if  ($clen>=$start)    
$tmpstr.=substr($str,$i,2);    
$i++;    
}    
else    
{    
if  ($clen>=$start)    
$tmpstr.=substr($str,$i,1);    
}    
}    
 
return  $tmpstr;    
}    
Function  showShort($str,$len)    
{    
$tempstr  =  csubstr($str,0,$len);    
if  ($str<>$tempstr)    
$tempstr  .=  "...";  //要以什么结尾,修改这里就可以.  
 
return  $tempstr;    
}    

时间: 2024-10-30 00:09:37

PHP中处理截取汉字,出现乱码问题的2个类的相关文章

关于ORACLE数据库中汉字显示乱码

  1 引言 ORACLE数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应用.虽然ORACLE数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应汉字显示乱码的问题.如对同一数据库不同的用户对同一表中的username查询却得出了不同的结果: "ORACLE??????"和"ORACLE中国有限公司",显然结果中将中文字符显示为乱码,那么为什么呢?字符集的设置不当是影响ORACLE数据库汉字显示的关键问题. 2 关于字符集 字符集是O

MFC中, win764位的代码在控件上面显示汉字没问题, 但是到了win732系统显示汉字为乱码

问题描述 MFC中, win764位的代码在控件上面显示汉字没问题, 但是到了win732系统显示汉字为乱码 MFC中, win764位的代码在控件上面显示汉字没问题, 但是到了win732系统显示汉字为乱码, 解决方案 的代码在控件上面显示汉字没问题, 但是到了win732系统显示汉字为 解决方案二: 乱码是编码的问题,为什么还和系统有关系呢?来点运行截图 解决方案三: 不知道你用的什么版本的vs,建议查一下代码里面是不是有硬编码,因为32位系统里很多数据类型占的字节数都是不一样的. 解决方案

字符编码-操作系统中汉字出现乱码

问题描述 操作系统中汉字出现乱码 服务器操作系统中出现如下问题:U盘插入后,U盘名称为乱码:在CMD控制台中不能键入汉字,复制进去的汉字会变成"?":在记事本中编辑汉字后保存,会提示"该文件含有Unicode格式的字符,当文件保存为ANSI编码的文本文件时,该字符将丢失.",需要在编码列表中选择Unicode项后才能保存.请问这些情况是什么原因造成的,如何解决?

这是我整理的从文件夹中读取所有txt文件,并读取里面内容的java程序,问什么读出来的汉字是乱码?

问题描述 这是我整理的从文件夹中读取所有txt文件,并读取里面内容的java程序,问什么读出来的汉字是乱码? import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileReader; import java.io.IOException; import java.nio.CharBuffer; import java.util.ArrayList; impor

asp.net url址址中中文汉字参数传递乱码解决方法

中文乱码是网站开发中会常碰到的问题,今天我们来讲一下关于url址址中中文汉字参数传递乱码解决方法,有需要的朋友可以参考下. 在cs文件里传参的时候用UrlEncode: Response.Redirect("B.asp教程x?Name="+Server.UrlEncode(Name)); 接参的时候用UrlDecode: Response.Write(Server.UrlDecode(Request.QueryString["Name"])); 脚本儿里传参的时候用

chrome 中使用 workspace 出现中文乱码问题

问题描述 chrome 中使用 workspace 出现中文乱码问题 chrome中workspace功能堪称神器,今天我第一次使用的时候却碰到了中文乱码问题,很是纠结. 环境:chrome36.0 项目采用的是GBK编码格式,在chrome中sources面板中js内的汉字是乱码形式的,然后我将js引用改成这样汉字就能正常显示了,接下来我又进行了workspace配置,但是当我Add folder to workspace后 项目内的js文件在sources面板中显示的汉字又成乱码了...不知

java 提取指定网页中的所有汉字

问题描述 java 提取指定网页中的所有汉字 读取这个网页中汉字 http://news.sina.com.cn/c/2015-03-24/103831638858.shtml?qq-pf-to=pcqq.c2c 有大神也个例子么 解决方案 要求要用到正则表达式 解决方案二: 如果你这个请求是固定的格式,你可以选择截取URL

uitableview-求教:iOS中怎么判断汉字的首字母

问题描述 求教:iOS中怎么判断汉字的首字母 我需要在UITableView里根据姓氏首字母来分组显示人,然后根据索引来进行跳转.但现在的问题是不知道怎么判断姓氏的首字母,没法和索引的字母相关联. 解决方案 论坛里有相关的中文到拼音的转换程序,把他添加到工程里,再通过对拼音的截取,获取首字母,然后再做分组操作.

c#-php socket_read() 接受C# 发送的字节数组 byte[] ,汉字出现乱码。

问题描述 php socket_read() 接受C# 发送的字节数组 byte[] ,汉字出现乱码. 如标题,在C#中,用系统函数 socket.BeginReceive(resultByte, 0, resultByte.Length, System.Net.Sockets.SocketFlags.None, new AsyncCallback(this.OnDataReceived), socket); resultString = Encoding.Unicode.GetString(r