当前位置: 首页 > 图文教程 > 网络编程 > PHP > php中文字符截取防乱码

PHP
社区(php&&mysql)二
如何做到多筆資料的同步
利用php来自动调用不同服务器上的flash
社区(php&&mysql)三
社区(php&&mysql)四
社区(php&&mysql)五
判“新”函数:得到今天与明天的秒数
社区(php&&mysql)六
PHP脚本的10个技巧(3)
聊天室php&mysql(六)
PHP脚本的10个技巧(4)
打造计数器DIY三步曲(上)
打造计数器DIY三步曲(下)
打造计数器DIY三步曲(中)
PHP脚本的10个技巧(5)
复杂检索数据并分页显示的处理方法
PHP脚本的10个技巧(6)
PHP脚本的10个技巧(7)
一个域名查询的程序
用PHP实现小型站点广告管理

PHP 中的 php中文字符截取防乱码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 155 ::
收藏到网摘: n/a

当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空” 根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了 先看段代码
复制代码 代码如下:

<?php
$len = 15;
$str = "这个新闻或是文章的标题很长,需要只显示前面一些字,后面用...来代替";
echo strlen($str)<=$len ? $str : (substr($str,0,$len).chr(0)."...");
?>

chr(0)相关知识:
null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000
虽然chr(0)不会显示出什么,但是他是一个字符。

淡水ps:
如果是UTF-8,UTF-8中的汉字是3个字节的,截取的长度尽量去3的倍数,以避免乱码的产生