PHP iconv方法

string iconv ( string $in_charset , string $out_charset , string $str )

iconvConvert string to requested character encoding

php  manual iconv方法的原话。

一般的情况下,我使用这个方法,都是这样使用:

   If you append the string //TRANSLIT to out_charset transliteration is activated. This means that when a character can't be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, str is cut from the first illegal character and an E_NOTICE is generated.

1 <?php
2  $text = 'xxxxxxxxxx';
3 echo 'Plain : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
4

 

 

有的时候,可以正常使用,但是有的时候,却是得到了一个notice,和返回的一个空字符串。
后来,看手册的时候才返现。原来我一直都错误的使用者iconv这个方法
在iconv这个方法的第二个参数$out_charset 还有个小秘密:
 
在我们使用iconv的时候,如果只是单纯的像从一个编码转化为另一个编码,可以在$out_charset后台追加//IGNORE,用来忽略在转化编码的时候出现的错误。

原文地址:https://www.cnblogs.com/ainiaa/p/1789719.html