`
bbdu540
  • 浏览: 9184 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

分享PHP代码 UTF-8和Unicode编码互转(多语言)

阅读更多
PHP UTF-8和Unicode编码互转
/** 
     * //将内容进行UNICODE编码
     * utf-8 转unicode
     * 
     * @param string $name
     * @return string
     */
    function utf8_unicode($name){  
        $name = iconv('UTF-8', 'UCS-2', $name);  
        $len  = strlen($name);  
        $str  = '';  
        for ($i = 0; $i < $len - 1; $i = $i + 2){  
            $c  = $name[$i];  
            $c2 = $name[$i + 1];  
            if (ord($c) > 0){   //两个字节的文字  
                $str .= '\u'.base_convert(ord($c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT);  
                //$str .= base_convert(ord($c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT);  
            } else {  
                $str .= '\u'.str_pad(base_convert(ord($c2), 10, 16), 4, 0, STR_PAD_LEFT);  
                //$str .= str_pad(base_convert(ord($c2), 10, 16), 4, 0, STR_PAD_LEFT);  
            }  
        }  
        $str = strtoupper($str);//转换为大写  
        return $str;  
    }  
  
    /** 
     * unicode 转 utf-8 
     * 
     * @param string $name 
     * @return string 
     */  
    function unicode_decodessss($name)  
    {  
        $name = strtolower($name);  
        // 转换编码,将Unicode编码转换成可以浏览的utf-8编码  
        $pattern = '/([\w]+)|(\\\u([\w]{4}))/i';  
        preg_match_all($pattern, $name, $matches);  
        if (!empty($matches))  
        {  
            $name = '';  
            for ($j = 0; $j < count($matches[0]); $j++)  
            {  
                $str = $matches[0][$j];  
                if (strpos($str, '\\u') === 0)  
                {  
                    $code = base_convert(substr($str, 2, 2), 16, 10);  
                    $code2 = base_convert(substr($str, 4), 16, 10);  
                    $c = chr($code).chr($code2);  
                    $c = iconv('UCS-2', 'UTF-8', $c);  
                    $name .= $c;  
                }  
                else  
                {  
                    $name .= $str;  
                }  
            }  
        }  
        return $name;  
    }  


调用及结果:
$utf8_str = '我';

//这是汉字“你”的Unicode编码
$unicode_str = '\u4f60';

//输出 6211
echo utf8_unicode($utf8_str) . "<br/>";

//输出汉字“你”
echo unicode_decodes($unicode_str);


注:  由于浏览器默认会解读,所以要看源代码

\U6211<br/>
你

分享到:
评论

相关推荐

    用PHP实现UTF-8和Unicode编码转换的技术.pdf

    在文章的最后,作者使用PHP语言实现了UTF-8和Unicode编码之间的转换函数,通过这个函数可以实现UTF-8和Unicode编码之间的顺利转换,从而获得了使用PHP实现UTF-8和Unicode编码顺利转换的应用技术。 本文档对UTF-8和...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    3. UTF-8:一种变长的Unicode编码,用1到4个字节表示一个字符。对于ASCII字符,UTF-8编码与ASCII相同,都是单字节。UTF-8的特殊之处在于它包含一个字节顺序标记(BOM),即UTF-8+BOM,但大多数情况下,UTF-8无BOM更...

    UTF-8与GB与 Big5之间的转换

    UTF-8是一种变长的Unicode编码方式,它可以表示世界上几乎所有的字符。UTF-8最大的优点在于其兼容性,它在互联网上被广泛采用,因为大多数现代网页和编程语言都默认支持UTF-8。UTF-8编码的一个特点是,英文和很多...

    PHP如何实现Unicode和Utf-8编码相互转换

    本文将详细介绍如何在PHP中实现Unicode和UTF-8编码的相互转换,同时解析这两种编码的区别。 Unicode是一个字符集,它包含了世界上几乎所有的字符,包括各种语言、特殊符号等。Unicode使用固定长度的双字节来表示每...

    UTF-8.rar_Free!_UTF-8简体中文免费版_cmsware2.8.5pro

    在互联网上,UTF-8是最常见的字符编码格式,它能够表示Unicode标准中的所有字符,包括汉字和其他多种语言的文字。UTF-8最大的特点是其可变字节编码,不同的字符会用不同数量的字节来表示,通常从1到4个字节不等。...

    批量修改文本文件的编码方式至UTF-8或ANSI,可用于批量修改CUE格式文件

    首先,UTF-8是一种广泛使用的多字节字符编码,能够表示Unicode字符集中的所有字符,包括世界各地的多种语言。它的优点在于兼容性好,大多数现代软件和网页浏览器都能很好地支持UTF-8编码,减少了乱码问题的出现。 ...

    php网页中utf-8编码转换gb2312实用类

    首先,UTF-8是一种广泛使用的多字节字符编码,它能够表示Unicode字符集中的所有字符,包括中文、英文、日文等各种语言。UTF-8的一大优势在于其对英文字符的高效存储,只用一个字节就能表示,而中文字符则需要多个...

    PHP编码转换函数utf-gb-big5

    // 将UTF-8字符串转换为JSON,实际是Unicode编码的字符串 $decoded_utf8_str = json_decode($u_str, false); // 再次解码,得到原始UTF-8字符串 ``` 在实际项目中,文件`pub_charset.php`可能包含了这些转换函数...

    zh-cn-utf8

    UTF-8是目前最广泛使用的多语言字符编码标准,特别是在Web开发和编程领域。 描述中的“unicode(utf8)”提到了Unicode和UTF-8的关系。Unicode是一个庞大的字符集,包含了世界上几乎所有的文字和符号,旨在统一各种...

    最好的汉字转换拼音utf-8 php版 权威

    "utf-8"编码是Unicode的一种变体,能够表示世界上几乎所有的字符,包括汉字。在PHP中处理UTF-8编码的数据,需要确保所有涉及字符串操作的函数都支持多字节字符,比如使用mb_string扩展来处理,避免出现乱码问题。 ...

    php汉字转拼音 降汉字转换为拼音,utf-8

    3. **Unicode与UTF-8**: UTF-8是一种基于Unicode的编码方式,对于汉字转拼音来说,确保输入的字符串是UTF-8编码是非常重要的,因为非UTF-8编码可能会导致乱码。 4. **拼音处理**: 在转换过程中,需要考虑多音字(一...

    Patchwork UTF-8:处理UTF-8格式字符串的便携类库

    在处理多语言和国际化(i18n)应用时,UTF-8已经成为广泛使用的字符编码标准,因为它能容纳几乎世界上所有的字符集,包括拉丁文、希腊文、汉字以及各种特殊符号。然而,尽管PHP本身对UTF-8有一定的支持,但在某些...

    ewebeditor_utf-8.rar

    为了解决这个问题,用户将编辑器的编码转换为了更通用、支持更多语言的UTF-8编码。 HTML是超文本标记语言,是网页开发的基础,用于定义网页的结构和内容。EWebEditor与HTML紧密相关,因为它允许用户在网页上创建和...

    基于PHP的中文分词代码UTF-8源码.zip

    3. **Unicode和UTF-8**:UTF-8是一种变长的Unicode编码,能表示Unicode字符集中的所有字符。对于处理中文,UTF-8编码是必需的,因为它可以正确地表示中文字符。 4. **扩展库**:PHP有一些现成的扩展库,如`Sphinx`...

    PHP 与 UTF-8 的最佳实践详细介绍

    UTF-8是一种广泛使用的多字节字符编码,能够表示Unicode字符集中的所有字符,包括各种语言的特殊字符。在PHP中,推荐的实践是确保所有的输入、内部处理和输出都是基于UTF-8编码。 1. **PHP层面的处理** - **启用...

    PHPCMS-formguide_export_utf-8-导出EXCEL表格功能

    "utf-8"则代表字符编码,确保在处理多语言或者包含特殊字符的数据时,能正确无误地显示和保存。"导出EXCEL表格"是指系统提供了将这些数据导出为Microsoft Excel格式的功能,便于进一步的数据分析、报表制作或与其他...

    基于PHP的中文分词代码 UTF-8.zip

    1. **UTF-8编码**:这是一种通用的多字节字符编码标准,可以表示Unicode字符集中的所有字符。在处理中文文本时,UTF-8是最常见的编码格式,因为它具有广泛的兼容性和良好的可读性。 2. **PHP中文分词库**:在PHP中...

    php utf-8编码去bom小工具

    1. **UTF-8编码**:UTF-8是一种常见的Unicode字符编码方式,它可以表示Unicode字符集中所有的字符。在UTF-8中,英文字符只用一个字节表示,而其他语言如中文、日文等则可能需要多个字节。 2. **BOM(Byte Order ...

    百度编辑器ueditor(UTF-8).rar

    使用UTF-8编码,ueditor可以正确显示和处理多语言环境下的文本内容,确保不同地区的用户都能正常使用。 3. **织梦(DedeCMS)与ueditor结合**: - 织梦(DedeCMS)是一款基于PHP和MySQL的开源内容管理系统,广泛...

Global site tag (gtag.js) - Google Analytics