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 动态随机生成验证码类代码
Apr 09 PHP
深入php常用函数的使用汇总
Jun 08 PHP
php引用传值实例详解学习
Nov 06 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
PHP数组相关函数汇总
Mar 24 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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循环输出数据库内容的代码
2008/05/24 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
简单的Python调度器Schedule详解
2019/08/30 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
入股协议书范本
2014/04/14 职场文书
学习雷锋活动总结
2014/04/29 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang