一 代码
function.php
<?php
function chinesesubstr($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;
}
?>
index.php
<linkrel="stylesheet"type="text/css"href="style.css">
<tablewidth="160"border="0"align="center"cellpadding="0"cellspacing="0">
<tr>
<tdwidth="165"height="32"><imgsrc="images/tell_top.gif"width="165"
height="32"border="0"></td>
</tr>
<tr>
<tdheight="52"background="images/tell_center.gif">
<?php
include_once("function.php");
$news="中小学因雾霾放假!";
$i=1;
do{
?>
<tablewidth="148"height="25"border="0"align="center"cellpadding="0"
cellspacing="0">
<tr>
<tdwidth="17"height="20"><imgsrc="images/mark_0.gif"width="10"
height="10"></td>
<tdwidth="333">
<?php
echo chinesesubstr($news,0,16);
if(strlen($news)>16){
echo " ...";
}
?>
</td>
</tr>
<tr>
<tdheight="5"></td>
<tdheight="5"background="images/back_point_write.gif"></td>
</tr>
</table>
<?php
$i++;
}while($i<=5);
?>
</td>
</tr>
<tr>
<tdwidth="165"height="12"><imgsrc="images/tell_bottom.gif"width="165"
height="12"></td>
</tr>
</table>
二 运行效果
三 代码说明
1、为了保持整个页面合理布局,经常需要对一些较长的字符进行部分输出,但由于汉字占有两个字符,如果截取位置不当就可能导致截取的字符串尾出现乱码。
2、本代码实现功能:创建一个自定义函数,用于实现屏蔽中文乱码的输出,将该函数封装在一个function.php中,然后应用include_once语句引用这个文件,再通过echo语句输出新闻主题信息,截取前16个 字符,并应用自定义函数屏蔽中文乱码。
相关推荐
自定义函数的目的在于实现能够按照汉字长度进行截取的功能,即使一个汉字被拆分或者字符集编码不同,该函数依旧能正确处理。以下详细介绍几种实现方法: 1. 使用ord()函数结合substr()函数:通过ord()函数来判断...
总结起来,本文介绍了一种通过PHP自定义函数实现汉字到UTF-8编码转换的方法,包括`htou()`和`utf8_unicode()`两个关键函数的使用。理解这些概念和技巧有助于你在处理多语言文本时更加游刃有余,特别是在需要对字符串...
这两个自定义函数对于处理中文字符串截取的问题非常有用,尤其是在处理用户输入或者从数据库读取GBK或UTF-8编码的中文数据时,可以有效地防止因编码问题导致的乱码。它们体现了PHP在处理多字节编码字符串时的灵活性...
主要介绍了PHP自定义递归函数实现数组转JSON功能,针对json_encode函数处理GBK编码中文出现乱码的情况,使用自定义函数进行数组递归遍历实现可兼容GBK编码的数组转json功能,需要的朋友可以参考下
if (ord(substr($str, $i, 1)) > 0xa0) { // 检查是否为中文汉字编码的第一个字节 $tmpstr .= substr($str, $i, 2); // 如果是中文,则截取两个字节 $i++; // 跳过下一个字节 } else { $tmpstr .= substr($str,...
作者提供了一个自定义的`path_info()`函数来替代原生的`pathinfo`函数,以确保在处理中文文件名时能正确解析路径和编码。 总结来说,解决Linux下中文文件名乱码问题的关键在于: 1. 确保Linux系统支持中文编码,如...
当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空” 根据这一特点,在substr的结果后面补上一个chr(0),就可以...
本资料主要探讨了在使用MySQL和PHP时可能遇到的中文乱码问题以及MySQL的时间处理函数。以下是对这两个主题的详细说明: 一、MySQL与PHP中的中文乱码问题 1. 编码设置:中文乱码通常是因为编码不一致导致的。确保...
在使用Smarty时,有时我们可能会遇到“truncate”修饰符处理中文字符串时出现乱码的问题。这通常是由于字符编码不一致或者处理方式不当导致的。下面我们将深入探讨这个问题,并提供解决方案。 在PHP中,`truncate`...
- **解决方法**: 使用自定义函数`get_brief_str()`来处理标题截取,该函数会确保截取的标题不会因为不完整的UTF-8字符而出现乱码。 #### 三、MYSQL数据库使用UTF-8编码的问题 **1. 创建数据库和数据表** - **...
还有另一种更加优雅的解决方案,可以通过自定义函数来处理数组的每个元素,再进行json_encode()编码,最后再用urldecode()函数进行解码,确保整个数组编码和解码的正确性。例如,定义一个名为JSON()的函数,它内部会...
但是,如果在不支持`mbstring`扩展的环境中,可以编写自定义函数来实现类似功能。给定的代码提供了一个名为`cutstr`的函数示例,用于截取UTF-8字符串: ```php function cutstr($sourcestr, $cutlength) { // ... ...
这是因为ANSI编码通常只支持ASCII字符,对于非ASCII的中文字符,需要确保整个项目(包括PHP文件、模板文件和数据库等)都采用统一的UTF-8编码,这样才能避免乱码的出现。 总的来说,通过自定义函数`htmlcheckboxes`...
在处理中文字符时,由于FPDF默认只支持ASCII编码,因此会出现中文乱码问题。为了解决这个问题,我们需要下载并使用特定的中文支持包,如"chinese.php"。这个包包含了处理中文字符集所需的函数和配置,确保FPDF能够...
标题“smartupload上传里中文无乱码”和描述“smartupload上传里中文无乱码,方便解决乱码问题”指向了SmartUpload在处理中文文件名时的一个关键特性:能够正确显示和处理中文字符,避免出现常见的乱码问题。...
3. 自定义函数:由于PHP内建函数可能无法满足所有需求,开发者有时需要编写自定义函数来完成特定的编码转换。例如,`gb2big5`和`big52gb`可能是这样的实现: ```php function gb2big5($gb_str) { // 实现GBK到Big...