`
cakin24
  • 浏览: 1388214 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

PHP自定义函数实现防止中文出现乱码

    博客分类:
  • PHP
阅读更多

一 代码

function.php
  1. <?php
  2. function chinesesubstr($str,$start,$len){
  3. $strlen=$start+$len;
  4. for($i=0;$i<$strlen;$i++){
  5. if(ord(substr($str,$i,1))>0xa0){
  6. $tmpstr.=substr($str,$i,2);
  7. $i++;
  8. }else
  9. $tmpstr.=substr($str,$i,1);
  10. }
  11. return $tmpstr;
  12. }
  13. ?>
index.php
  1. <linkrel="stylesheet"type="text/css"href="style.css">
  2. <tablewidth="160"border="0"align="center"cellpadding="0"cellspacing="0">
  3. <tr>
  4. <tdwidth="165"height="32"><imgsrc="images/tell_top.gif"width="165"
  5. height="32"border="0"></td>
  6. </tr>
  7. <tr>
  8. <tdheight="52"background="images/tell_center.gif">
  9. <?php
  10. include_once("function.php");
  11. $news="中小学因雾霾放假!";
  12. $i=1;
  13. do{
  14. ?>
  15. <tablewidth="148"height="25"border="0"align="center"cellpadding="0"
  16. cellspacing="0">
  17. <tr>
  18. <tdwidth="17"height="20"><imgsrc="images/mark_0.gif"width="10"
  19. height="10"></td>
  20. <tdwidth="333">
  21. <?php
  22. echo chinesesubstr($news,0,16);
  23. if(strlen($news)>16){
  24. echo " ...";
  25. }
  26. ?>
  27. </td>
  28. </tr>
  29. <tr>
  30. <tdheight="5"></td>
  31. <tdheight="5"background="images/back_point_write.gif"></td>
  32. </tr>
  33. </table>
  34. <?php
  35. $i++;
  36. }while($i<=5);
  37. ?>
  38. </td>
  39. </tr>
  40. <tr>
  41. <tdwidth="165"height="12"><imgsrc="images/tell_bottom.gif"width="165"
  42. height="12"></td>
  43. </tr>
  44. </table>
二 运行效果

 
三 代码说明
1、为了保持整个页面合理布局,经常需要对一些较长的字符进行部分输出,但由于汉字占有两个字符,如果截取位置不当就可能导致截取的字符串尾出现乱码。
2、本代码实现功能:创建一个自定义函数,用于实现屏蔽中文乱码的输出,将该函数封装在一个function.php中,然后应用include_once语句引用这个文件,再通过echo语句输出新闻主题信息,截取前16个 字符,并应用自定义函数屏蔽中文乱码。

 

  • 大小: 37.3 KB
0
2
分享到:
评论

相关推荐

    php自定义函数截取汉字长度

    自定义函数的目的在于实现能够按照汉字长度进行截取的功能,即使一个汉字被拆分或者字符集编码不同,该函数依旧能正确处理。以下详细介绍几种实现方法: 1. 使用ord()函数结合substr()函数:通过ord()函数来判断...

    php自定义函数实现汉字转换utf8编码的方法

    总结起来,本文介绍了一种通过PHP自定义函数实现汉字到UTF-8编码转换的方法,包括`htou()`和`utf8_unicode()`两个关键函数的使用。理解这些概念和技巧有助于你在处理多语言文本时更加游刃有余,特别是在需要对字符串...

    php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例

    这两个自定义函数对于处理中文字符串截取的问题非常有用,尤其是在处理用户输入或者从数据库读取GBK或UTF-8编码的中文数据时,可以有效地防止因编码问题导致的乱码。它们体现了PHP在处理多字节编码字符串时的灵活性...

    PHP自定义递归函数实现数组转JSON功能【支持GBK编码】

    主要介绍了PHP自定义递归函数实现数组转JSON功能,针对json_encode函数处理GBK编码中文出现乱码的情况,使用自定义函数进行数组递归遍历实现可兼容GBK编码的数组转json功能,需要的朋友可以参考下

    PHP实现中文字符的无乱码截断.doc

    if (ord(substr($str, $i, 1)) &gt; 0xa0) { // 检查是否为中文汉字编码的第一个字节 $tmpstr .= substr($str, $i, 2); // 如果是中文,则截取两个字节 $i++; // 跳过下一个字节 } else { $tmpstr .= substr($str,...

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    作者提供了一个自定义的`path_info()`函数来替代原生的`pathinfo`函数,以确保在处理中文文件名时能正确解析路径和编码。 总结来说,解决Linux下中文文件名乱码问题的关键在于: 1. 确保Linux系统支持中文编码,如...

    php中文字符截取防乱码

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

    mysql+php中文乱码问题及mysql时间函数.rar

    本资料主要探讨了在使用MySQL和PHP时可能遇到的中文乱码问题以及MySQL的时间处理函数。以下是对这两个主题的详细说明: 一、MySQL与PHP中的中文乱码问题 1. 编码设置:中文乱码通常是因为编码不一致导致的。确保...

    smarty truncate中文乱码解决

    在使用Smarty时,有时我们可能会遇到“truncate”修饰符处理中文字符串时出现乱码的问题。这通常是由于字符编码不一致或者处理方式不当导致的。下面我们将深入探讨这个问题,并提供解决方案。 在PHP中,`truncate`...

    PHP乱码终极版必杀.

    - **解决方法**: 使用自定义函数`get_brief_str()`来处理标题截取,该函数会确保截取的标题不会因为不完整的UTF-8字符而出现乱码。 #### 三、MYSQL数据库使用UTF-8编码的问题 **1. 创建数据库和数据表** - **...

    PHP json_encode() 函数详解及中文乱码问题

    还有另一种更加优雅的解决方案,可以通过自定义函数来处理数组的每个元素,再进行json_encode()编码,最后再用urldecode()函数进行解码,确保整个数组编码和解码的正确性。例如,定义一个名为JSON()的函数,它内部会...

    解析使用substr截取UTF-8中文字符串出现乱码的问题

    但是,如果在不支持`mbstring`扩展的环境中,可以编写自定义函数来实现类似功能。给定的代码提供了一个名为`cutstr`的函数示例,用于截取UTF-8字符串: ```php function cutstr($sourcestr, $cutlength) { // ... ...

    smarty自定义函数htmlcheckboxes用法实例

    这是因为ANSI编码通常只支持ASCII字符,对于非ASCII的中文字符,需要确保整个项目(包括PHP文件、模板文件和数据库等)都采用统一的UTF-8编码,这样才能避免乱码的出现。 总的来说,通过自定义函数`htmlcheckboxes`...

    FPDF 解决中文乱码,下载中文支持包chinese.php

    在处理中文字符时,由于FPDF默认只支持ASCII编码,因此会出现中文乱码问题。为了解决这个问题,我们需要下载并使用特定的中文支持包,如"chinese.php"。这个包包含了处理中文字符集所需的函数和配置,确保FPDF能够...

    smartupload上传里中文无乱码

    标题“smartupload上传里中文无乱码”和描述“smartupload上传里中文无乱码,方便解决乱码问题”指向了SmartUpload在处理中文文件名时的一个关键特性:能够正确显示和处理中文字符,避免出现常见的乱码问题。...

    PHP编码转换函数utf-gb-big5

    3. 自定义函数:由于PHP内建函数可能无法满足所有需求,开发者有时需要编写自定义函数来完成特定的编码转换。例如,`gb2big5`和`big52gb`可能是这样的实现: ```php function gb2big5($gb_str) { // 实现GBK到Big...

Global site tag (gtag.js) - Google Analytics