PHP使用strrev翻转中文乱码问题的解决方法


Posted in PHP onJanuary 13, 2017

本文实例讲述了PHP使用strrev翻转中文乱码问题的解决方法。分享给大家供大家参考,具体如下:

在用PHP中的strrve翻转中文时,会出现乱码情况

例如:

header("Content-Type: text/html; charset=utf-8");
echo strrev("处理使用strrev()函数时的乱码问题")."<br>";

运行结果为:

��???䄚?氕潇�)(verrts��?䆐?r�

解决方法就是自己重写一个cnstrrev的函数

header("Content-Type: text/html; charset=utf-8");
$str = '处理使用strrev()函数时的乱码问题';
function cnstrrev($str)
{
  $len = strlen($str);
  for($i = 0; $i < $len; $i++)
  {
    $char = $str{0};
    if(ord($char) > 127) //ord()函数取得第一个字符的ASCII码,如果大于0xa0(127)的话则是中文字符
    {
      $i+=2;//utf-8编码的情况下,一个中文字符占三个字节
      if($i < $len)
      {
        $arr[] = substr($str, 0, 3);//utf-8编码的情况下,一个中文字符占三个字节
        $str = substr($str, 3);
      }
    }
    else
    {
      $arr[] = $char;
      $str = substr($str, 1);//否则为非中文,占一个字符
    }
  }
  return join(array_reverse($arr));//以相反的元素顺序返回数组:
}
echo $str.'+'.cnstrrev($str);

运行结果为:

处理使用strrev()函数时的乱码问题+题问码乱的时数函)(verrts用使理处

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP出错界面
Oct 09 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
PHP开发Apache服务器配置
Jul 15 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
php curl发送请求实例方法
Aug 01 PHP
基于laravel Request的所有方法详解
Sep 29 PHP
php 输出缓冲 Output Control用法实例详解
Mar 03 PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 #PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 #PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 #PHP
php中分页及SqlHelper类用法实例
Jan 12 #PHP
PHP生成图片验证码功能示例
Jan 12 #PHP
PHP中字符串长度的截取用法示例
Jan 12 #PHP
PHP实现二维数组去重功能示例
Jan 12 #PHP
You might like
PHP时间和日期函数详解
2015/05/08 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
JS学习之一个简易的日历控件
2010/03/24 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
详解VUE 数组更新
2017/12/16 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
物理力学求职信
2014/02/18 职场文书
初中家长寄语
2014/04/02 职场文书
会计专业自荐书
2014/07/08 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
周年庆典答谢词
2015/01/20 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫
Python如何用re模块实现简易tokenizer
2022/05/02 Python
java实现面板之间切换功能
2022/06/10 Java/Android