Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP中iconv函数来转换编码,如UTF-8转GB2312

PHP中iconv函数来转换编码,如UTF-8转GB2312

不言
不言asal
2018-04-16 11:20:362350semak imbas

这篇文章介绍的内容是关于PHP中iconv函数来转换编码,如UTF-8转GB2312,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

最近在做建行接口的时候发现必须 将编码UTF-8转换成GB2312 所以才采用这个iconv函数来转换编码。

 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符”—”到gb2312时会出错。

下面慢慢看一下这个函数的用法。

最简单的应用,把gb2312置换成utf-8:


$zhuan=iconv("UTF-8","GB2312",$data);



在使用过程中,如果遇到一些特别字符时,如:”—”,英文名中的”.”等等字符,转换就断掉了。这些字符后的文字都没法继续转换了。

<br/>


针对这的问题,可以用如下代码实现:


$zhuan=iconv("UTF-8","GBK",$data);

你没有看错,就这么简单,不使用gb2312,而写成GBK,就可以了。

还有一种方法,第二个参数,加上//IGNORE,忽略错误,如下:


$zhuan=iconv("UTF-8","GB2312//IGNORE",$data);

没有具体比较这两种方法,感觉第一种(GBK代替gb2312)方法更好。

相关推荐:

php中iconv函数的使用方法






Atas ialah kandungan terperinci PHP中iconv函数来转换编码,如UTF-8转GB2312. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn