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中动态显示签名和ip原理
Mar 28 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
PHP多进程编程实例
Oct 15 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
PHP错误处理函数
Apr 03 PHP
php简单获取复选框值的方法
May 11 PHP
PHP与SQL语句常用大全
Dec 10 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 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.MVC的模板标签系统(四)
2006/09/05 PHP
浅析php与数据库代码开发规范
2013/08/08 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
Vue.js图片预览插件使用详解
2018/08/27 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
简述Python中的进程、线程、协程
2016/03/18 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
python关闭占用端口方式
2019/12/17 Python
提升python处理速度原理及方法实例
2019/12/25 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
化工机械应届生求职信
2013/11/04 职场文书
求职自荐信范文格式
2013/11/29 职场文书
爱心倡议书范文
2014/05/12 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android