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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
php中几种常见安全设置详解
Apr 06 PHP
PHP 面向对象详解
Sep 13 PHP
基于initPHP的框架介绍
Apr 18 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
Jun 06 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
3种php生成唯一id的方法
Nov 23 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
phpstorm 配置xdebug的示例代码
Mar 31 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 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
各种战术和打法的原创者
2020/03/04 星际争霸
使用PHP模拟HTTP认证
2006/10/09 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
php中动态修改ini配置
2014/10/14 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
大学毕业感言50字
2014/02/07 职场文书
有趣的广告词
2014/03/18 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
迎新生标语大全
2014/10/06 职场文书
2016年猴年新春致辞
2015/08/01 职场文书