zoukankan      html  css  js  c++  java
  • 再谈php乱码问题

    在开博不久,写了一篇关于解决php乱码问题文章,php 解决乱码的通用方法,绝大部分乱码,这篇博文都可以解决,但是也有例外。

    如果有人传参数给你,你根本不知道,传给你的参数到底是什么编码,这个时候该怎么办呢?例如:一个站用的是gbk的编码,一个站呢用的是utf8的编码,这二个站之间要相互通信,当然这个时候都知道彼此的编码就很好解决。如果不知道呢?

    1. <?php  
    2. function exchange_code ( &$param, $in_code,$out_code)  
    3. {  
    4.     if (is_array($param)){  
    5.        foreach ($param as $key=>$val) {  
    6.            $param[$key] = mb_convert_encoding($val,$out_code,$in_code);  
    7.        }  
    8.     }else{  
    9.        $param = mb_convert_encoding($param,$out_code,$in_code);  
    10.     }  
    11. }  
    12.   
    13. $param = $_REQUEST['param'];  
    14. $code = mb_detect_encoding($param);    //在这里我传是一个字符串,数组就不能这么用了  
    15. call_user_func('exchange_code', &$param,$code,'gbk');  
    16. ?>  

    传过来的参数,用mb_detect_encoding来侦测一下它的字符集是什么,要变成什么样的字符集,转一下就行了。不过要注意,文件本身保存的字符编码是什么,以及页面输出的编码是什么等,要统一。

  • 相关阅读:
    springboot配置redis缓存
    【spark】local模式运行
    mybatis从入门到精通(二) 增删查改
    学习设计模式
    学习设计模式
    mybatis从入门到精通(一) 入门
    学习NIO 之 使用方法
    学习 NIO 之 零拷贝
    Java并发
    学习设计模式
  • 原文地址:https://www.cnblogs.com/xiaoping-2014/p/4347477.html
Copyright © 2011-2022 走看看