php iconv 函数参数的区别

Posted 张雅宸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php iconv 函数参数的区别相关的知识,希望对你有一定的参考价值。

本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/57

用户输入:英特尔? 酷睿? i7处理器大显身手

case1

$value = iconv("UTF-8","GBK//TRANSLIT",$value);

结果:

英特尔(R) 酷睿(TM) i7处理器大显身手

case2

$value = iconv("UTF-8","GBK//IGNORE",$value);

结果:

英特尔 酷睿 i7处理器大显身手

case3

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

结果:

英特尔

case4

mb_convert_encoding($value, "GBK","UTF-8");

结果:

英特尔? 酷睿? i7处理器大显身手

分析

iconv ( string $in_charset , string $out_charset , string $str )
  • 如果在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。
  • 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。
  • 如果out_charset 后面无添加字符串,会从第一个不能识别的字符开始截断,并生成一个E_NOTICE。因此后边的内容被丢弃了。

以上是关于php iconv 函数参数的区别的主要内容,如果未能解决你的问题,请参考以下文章

使用GCONV_PATH与iconv进行bypass disable_functions

使用GCONV_PATH与iconv进行bypass disable_functions

使用GCONV_PATH与iconv进行bypass disable_functions

使用GCONV_PATH与iconv进行bypass disable_functions

在smarty模板中使用PHP函数的方法

PHP iconv()函数字符编码转换的问题讲解