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编码之间的转换函数,通过这个函数可以实现UTF-8和Unicode编码之间的顺利转换,从而获得了使用PHP实现UTF-8和Unicode编码顺利转换的应用技术。 本文档对UTF-8和...
3. UTF-8:一种变长的Unicode编码,用1到4个字节表示一个字符。对于ASCII字符,UTF-8编码与ASCII相同,都是单字节。UTF-8的特殊之处在于它包含一个字节顺序标记(BOM),即UTF-8+BOM,但大多数情况下,UTF-8无BOM更...
UTF-8是一种变长的Unicode编码方式,它可以表示世界上几乎所有的字符。UTF-8最大的优点在于其兼容性,它在互联网上被广泛采用,因为大多数现代网页和编程语言都默认支持UTF-8。UTF-8编码的一个特点是,英文和很多...
本文将详细介绍如何在PHP中实现Unicode和UTF-8编码的相互转换,同时解析这两种编码的区别。 Unicode是一个字符集,它包含了世界上几乎所有的字符,包括各种语言、特殊符号等。Unicode使用固定长度的双字节来表示每...
在互联网上,UTF-8是最常见的字符编码格式,它能够表示Unicode标准中的所有字符,包括汉字和其他多种语言的文字。UTF-8最大的特点是其可变字节编码,不同的字符会用不同数量的字节来表示,通常从1到4个字节不等。...
首先,UTF-8是一种广泛使用的多字节字符编码,能够表示Unicode字符集中的所有字符,包括世界各地的多种语言。它的优点在于兼容性好,大多数现代软件和网页浏览器都能很好地支持UTF-8编码,减少了乱码问题的出现。 ...
首先,UTF-8是一种广泛使用的多字节字符编码,它能够表示Unicode字符集中的所有字符,包括中文、英文、日文等各种语言。UTF-8的一大优势在于其对英文字符的高效存储,只用一个字节就能表示,而中文字符则需要多个...
// 将UTF-8字符串转换为JSON,实际是Unicode编码的字符串 $decoded_utf8_str = json_decode($u_str, false); // 再次解码,得到原始UTF-8字符串 ``` 在实际项目中,文件`pub_charset.php`可能包含了这些转换函数...
UTF-8是目前最广泛使用的多语言字符编码标准,特别是在Web开发和编程领域。 描述中的“unicode(utf8)”提到了Unicode和UTF-8的关系。Unicode是一个庞大的字符集,包含了世界上几乎所有的文字和符号,旨在统一各种...
"utf-8"编码是Unicode的一种变体,能够表示世界上几乎所有的字符,包括汉字。在PHP中处理UTF-8编码的数据,需要确保所有涉及字符串操作的函数都支持多字节字符,比如使用mb_string扩展来处理,避免出现乱码问题。 ...
3. **Unicode与UTF-8**: UTF-8是一种基于Unicode的编码方式,对于汉字转拼音来说,确保输入的字符串是UTF-8编码是非常重要的,因为非UTF-8编码可能会导致乱码。 4. **拼音处理**: 在转换过程中,需要考虑多音字(一...
在处理多语言和国际化(i18n)应用时,UTF-8已经成为广泛使用的字符编码标准,因为它能容纳几乎世界上所有的字符集,包括拉丁文、希腊文、汉字以及各种特殊符号。然而,尽管PHP本身对UTF-8有一定的支持,但在某些...
为了解决这个问题,用户将编辑器的编码转换为了更通用、支持更多语言的UTF-8编码。 HTML是超文本标记语言,是网页开发的基础,用于定义网页的结构和内容。EWebEditor与HTML紧密相关,因为它允许用户在网页上创建和...
3. **Unicode和UTF-8**:UTF-8是一种变长的Unicode编码,能表示Unicode字符集中的所有字符。对于处理中文,UTF-8编码是必需的,因为它可以正确地表示中文字符。 4. **扩展库**:PHP有一些现成的扩展库,如`Sphinx`...
UTF-8是一种广泛使用的多字节字符编码,能够表示Unicode字符集中的所有字符,包括各种语言的特殊字符。在PHP中,推荐的实践是确保所有的输入、内部处理和输出都是基于UTF-8编码。 1. **PHP层面的处理** - **启用...
"utf-8"则代表字符编码,确保在处理多语言或者包含特殊字符的数据时,能正确无误地显示和保存。"导出EXCEL表格"是指系统提供了将这些数据导出为Microsoft Excel格式的功能,便于进一步的数据分析、报表制作或与其他...
1. **UTF-8编码**:这是一种通用的多字节字符编码标准,可以表示Unicode字符集中的所有字符。在处理中文文本时,UTF-8是最常见的编码格式,因为它具有广泛的兼容性和良好的可读性。 2. **PHP中文分词库**:在PHP中...
1. **UTF-8编码**:UTF-8是一种常见的Unicode字符编码方式,它可以表示Unicode字符集中所有的字符。在UTF-8中,英文字符只用一个字节表示,而其他语言如中文、日文等则可能需要多个字节。 2. **BOM(Byte Order ...
使用UTF-8编码,ueditor可以正确显示和处理多语言环境下的文本内容,确保不同地区的用户都能正常使用。 3. **织梦(DedeCMS)与ueditor结合**: - 织梦(DedeCMS)是一款基于PHP和MySQL的开源内容管理系统,广泛...