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 相关文章推荐
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
Apr 23 PHP
php Smarty初体验二 获取配置信息
Aug 08 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
php实现的简单日志写入函数
Mar 31 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
Laravel框架实现的记录SQL日志功能示例
Jun 19 PHP
解决php extension 加载顺序问题
Aug 16 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
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
细说javascript函数从函数的构成开始
2013/08/29 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
vue+Element中table表格实现可编辑(select下拉框)
2020/05/21 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python中交换两个元素的实现方法
2018/06/29 Python
python命令行工具Click快速掌握
2019/07/04 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
python字典的遍历3种方法详解
2019/08/10 Python
python读取ini配置文件过程示范
2019/12/23 Python
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
消防安全检查制度
2014/02/04 职场文书
医院义诊活动总结
2014/07/04 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android