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中cookies使用指南
Mar 16 PHP
PHP编实现程动态图像的创建代码
Sep 28 PHP
php 无极分类(递归)实现代码
Jan 05 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
Jul 04 PHP
解析php函数method_exists()与is_callable()的区别
Jun 21 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
Yii的Srbac插件用法详解
Jul 14 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
php和nginx交互实例讲解
2019/09/24 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
window下eclipse安装python插件教程
2017/04/24 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
毕业生医学检验求职信
2013/10/16 职场文书
车辆转让协议书
2014/09/24 职场文书
工作年限证明模板
2014/11/01 职场文书
2014年财务科工作总结
2014/11/11 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js