编码转换php

这段代码是ThinkPHP框架中的,感觉很常用,所以单独拎出来,大家共同学习一下。
 
function auto_charset($fContents,$from='''',$to='''')
{
    if( strtoupper($from) === strtoupper($to) || empty($fContents) || (is_scalar($fContents) && !is_string($fContents)) ){
        //如果编码相同或者非字符串标量则不转换
        return $fContents;
    }
    $from   =  strtoupper($from)==''UTF8''? ''utf-8'':$from;
    $to       =  strtoupper($to)==''UTF8''? ''utf-8'':$to;
    if(is_string($fContents) ) {
                if(function_exists(''mb_convert_encoding'')){
            return mb_convert_encoding ($fContents, $to, $from);
        }elseif(function_exists(''iconv'')){
            return iconv($from,$to,$fContents);
        }else{
            exit(''转换失败'');
            return $fContents;
        }
    }
    elseif(is_array($fContents)){
        foreach ( $fContents as $key => $val ) {
                        $_key =         auto_charset($key,$from,$to);
            $fContents[$_key] = auto_charset($val,$from,$to);
                        if($key != $_key ) {
                           &

时间: 2024-09-28 21:14:01

编码转换php的相关文章

用php实现gb2312和unicode间的编码转换

编码|转换 gb2312 和 unicode 间的编码转换 下面的例子是将 gb2312 转换为 "全"这种形式 php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数查表(gb2312.txt)也行<?$text = "电子书库";preg_match_all("/[\x80-\xff]?./",$text,$ar);foreach($ar[0] as $v)  echo ""

用php实现 gb2312 和 unicode 间的编码转换

编码|转换 gb2312 和 unicode 间的编码转换 下面的例子是将 gb2312 转换为 "全"这种形式 php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数查表(gb2312.txt)也行<?$text = "电子书库";preg_match_all("/[\x80-\xff]?./",$text,$ar);foreach($ar[0] as $v)  echo ""

Java中的字符集编码入门(五) Java代码中的字符编码转换

如果你是JVM的设计者,让你来决定JVM中所有字符的表示形式,你会不会允许使用各种编码方式的字符并存? 我想你的答案是不会,如果在内存中的Java字符可以以GB2312,UTF-16,BIG5等各种编码形式存在,那么对开发者来说,连进行最基本的字符串打印.连接等操作都会寸步难行.例如一个GB2312的字符串后面连接一个UTF-8的字符串,那么连接后的最终结果应该是什么编码的呢?你选哪一个都没有道理. 因此牢记下面这句话,这也是Java开发者的共同意志:在Java中,字符只以一种编码形式存在,那就

浅析PHP中的字符串编码转换(自动识别原编码)

本篇文章是对PHP中字符串编码转换的实现代码进行了详细的分析介绍,需要的朋友参考下   复制代码 代码如下: /**  * 对数据进行编码转换  * @param array/string $data       数组  * @param string $output    转换后的编码  */ function array_iconv($data,$output = 'utf-8') {  $encode_arr = array('UTF-8','ASCII','GBK','GB2312','

PHP编码转换函数mb

  将一个短信接口代码从apache迁移到nginx+php-fpm后,发现无法发出短信了,查看php日志, [25-Sep-2014 20:15:21] WARNING: [pool www] child 9617 said into stderr: "NOTICE: PHP message: PHP Fatal error: Call to undefined function mb_convert_encoding() in /data/htdocs/xx.php on line 13″

php数组编码转换示例详解

 需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数,下面使用详细介绍转换方法 因为一些特殊字符的显示效果的原因不得不把习惯的utf-8工程改成了GBK,由于使用了ajax技术,又涉及到了老问题--编码转换.一些表单验证需要返回json数据,php的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数.   最开始的思路,将数组序列化后用iconv函数转换编码,之后再反序列化,

图片-VC 中编码转换乱码问题

问题描述 VC 中编码转换乱码问题 为什么a是'{'??? 解决方案 http://www.guokr.com/blog/763017/ 检查转换是否正确,编码的选择等 解决方案二: 编码转换是否正确 对应编码格式支持吗

用shell批量编码转换

-------------------------------------文件内容转换:iconv-------------------------------------- 通常,从其他平台拷贝过来(Linux)的文件,比如mac或win,打开后都是有编码错误的,尤其是中文编码. 这里主要是纯文本文件,pdf或者office文件不谈,他们只存在文件名的乱码,不存在文件内容的乱码(因为他门本来就没有编码).  造成的原因很简单,因为前两个系统上的文本文件都是默认gbk编码格式的,gbk是个主要为

浅谈JavaScript中的字符编码转换问题_基础知识

要获得字符的Unicode编码,可以使用string.charCodeAt(index)方法,其定义为:    strObj.charCodeAt(index)       index为指定字符在strObj对象中的位置(基于0的索引),返回值为0与65535之间的16位整数.例如: var strObj = "ABCDEFG"; var code = strObj.charCodeAt(2); // Unicode value of character 'C' is 67      

PHP下编码转换函数mb_convert_encoding与iconv的使用说明_php技巧

不过英文一般不会存在编码问题,只有中文数据才会有这个问题.比如你用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码. mb_convert_encoding的用法见官方: http://cn.php.net/manual/zh/function.mb-convert-encoding.php 做一个GBK To UTF-8 复制代码 代码如下: <?php header(&qu