解决iconv函数无法转换某些中文的问题

简介: 原文: 解决iconv函数无法转换某些中文的问题 请先看以下代码,这个页面是GB2312编码的: $str = '陶喆';echo 'gb2312-'.$str;echo '';$str = iconv( 'gb2312' ,'utf-8' , $str );echo 'utf8-'.$str;echo '';$str = iconv('utf-8' , 'gb2312' , $str );echo 'gb2312-'.$str;?> 程序做的事情很简单,首先打印出原始的陶喆,这是GB2312编码的,然后转换成UTF-8,最后再转换成GB2312。

原文: 解决iconv函数无法转换某些中文的问题

请先看以下代码,这个页面是GB2312编码的:

$str = '陶喆';
echo 'gb2312-'.$str;
echo '<br />';
$str = iconv( 'gb2312' ,'utf-8' , $str );
echo 'utf8-'.$str;
echo '<br />';
$str = iconv('utf-8' , 'gb2312' , $str );
echo 'gb2312-'.$str;
?>


程序做的事情很简单,首先打印出原始的陶喆,这是GB2312编码的,然后转换成UTF-8,最后再转换成GB2312。按照程序逻辑,第3行应该也打出陶喆,不过,实际的输出却是:



我们用UTF-8编码来显示这个网页,可以看到输出是



可见,在从gb2312转换到utf-8的过程中,“喆”不见了。

出现这个问题的原因是“喆”不属于gb2312字符集里的字符,而是属于gbk里的字符,所以,要从gb2312转换到utf-8就不行了

修改程序,将gb2312改成gbk,就可以解决这个问题了。



Ferris Xu
2009-08-21

目录
相关文章
|
3天前
|
Python
Python字符串和字节使用正确的编码/解码
【5月更文挑战第6天】Python字符串和字节使用正确的编码/解码
6 2
|
2月前
|
JSON JavaScript PHP
PHP把unicode编码的json字符串转中文
PHP把unicode编码的json字符串转中文
14 0
|
11月前
|
存储 数据安全/隐私保护 Python
Python零基础- 字符串的编码格式
编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。编码在电子计算机、电视、遥控和通讯等方面广泛使用。编码是信息从一种形式或格式转换为另一种形式的过程。解码,是编码的逆过程。
|
12月前
|
JSON PHP 数据格式
【python】or【php】网页中字符编码转换,将反斜杠u \u字符串转为unicode/utf8
【python】or【php】网页中字符编码转换,将反斜杠u \u字符串转为unicode/utf8
110 0
Python__24--格式化字符串与字符串的编码、解码转换
驻留机制、格式化字符串与字符串的编码、解码转换
|
PHP
php转换文本编码,php字符编码转换,php编码转换
php转换文本编码,php字符编码转换,php编码转换
74 0
|
Python
ASCII编码(Python扩展)
了解ASCII.和他的作用。
153 0
ASCII编码(Python扩展)
|
JSON 数据格式 Python
Python如何将unicode转换为中文
今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串
678 0
Python如何将unicode转换为中文
|
JavaScript 前端开发 Python
Python 技术篇 - 使用unicode_escape对js的escape()方法编码后的字符串进行解码实例演示
Python 技术篇 - 使用unicode_escape对js的escape()方法编码后的字符串进行解码实例演示
209 0
Python 技术篇 - 使用unicode_escape对js的escape()方法编码后的字符串进行解码实例演示