Blog on 27th Floor
主页 随便 电脑 电影 社会 阅读 下载 本站 存档
主页 随便 电脑 电影 社会 阅读 下载 本站 存档

将就解决最新评论截取出现乱码的问题

09/07/04。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。


“最新评论”其实是通过对字符串的截取来实现的,由于会有英文字符和中文字符混杂的情况,所以很经常地会截到一个汉字的中间,而这样截出来的这一个字节就经常是没有意义的,它显示出来就是乱码的一种。为解决这个问题,PHP项目是有努力的,在4.0.6之后推出了MB-String函数,专门处理多字节字符串,支持许多的多字节编码方式,中文在其中是以CP936(GBK?)的名目出现的,当然UTF-8也是支持的。但在这个虚拟主机上总是返回不支持Encoding的错误,没办法用。

自己写了几行,将就解决这个问题。很粗略的根据中文GB编码第1字节>128来判断这个字节及其后一个字节合起来组成一个汉字──这是极不准确的,甚至大于128也有可能是有意义的西文字符(也许不常用),现在也就是将就用着罢了。

搞这种事,才觉得Unicode好,但现在感觉常用的UTF-8也很不成熟,不知道最后会统一到哪种统一码上去,彻底解决中日韩等多字节文字的问题、再用不着专门写这些处理。
//$ctext = substr($text, 0, $numberOfCharacters); 

if (strlen($text) > $numberOfCharacters) {
for($i=0; $i < $numberOfCharacters; $i++)
if ( ord($text[$i]) > 128 ) $i++;
$ctext = substr($text, 0, $i);
}
else { $ctext = $text; }

BTW,如果谁还要Gmail,还可以按下方Gmail地址发信索取。

09/07/04 00:29:16,由cathayan发表。目录:电脑

这篇文章已经关闭,不能添加评论和投票
I am watching and will delete all spam.

我的E-Mail


Copy&Paste Exchange

访问CPeX Group

订阅Feed

订阅Feedburner
Feedsky订阅
本站订阅

请登录

导航

cathayan.org Web

最新贴

RIME 小狼毫/鼠须管的极点及五笔拼音配置
Software that rocks or sucks less
一棵热带的树换新叶的过程
几个有用的Vim招术
论语七 述而
Nomacs 图像浏览器
Windows 文件校验
Windows 10 文件批量命名简单方法
Windows 10 文件删除高级操作
本站也算是有响应式设计了

最新评论

Powered by

Powered by Nucleus CMS

版权声明

Creative Commons License
Blog on 27th floor by Cathayan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Powered by Nucleus CMS v3.71. Best view with Mozilla browsers.