在php中,可以利用iconv()函数将数据的编码从utf-8转为gbk,该函数可以将字符串按要求的字符编码来转换,语法“iconv("UTF-8","gbk//TRANSLIT",$str)”。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

在php中,可以利用iconv()函数将数据的编码从utf-8转为gbk。

<?php
header("Content-type:text/html;charset=UTF-8");
$str= '你好,这里是utf8转gbk!';
echo $str;
echo '<br />';
echo iconv("UTF-8","gbk//TRANSLIT",$str); //将字符串的编码从UTF-8转到GB2312
?>

1.png

iconv()函数还可以将编码gbk转换为utf8

<?php
header("Content-type:text/html;charset=GB2312");
$str= '你好,这里是gbk转utf8!';
echo $str;
echo '<br />';
echo iconv("GB2312","UTF-8",$str); //将字符串的编码从UTF-8转到GB2312
?>

说明:iconv()函数

iconv()函数可将字符串按要求的字符编码来转换。

语法:

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

将字符串 str 从 in_charset 转换编码到 out_charset。

参数说明:

  • $in_charset:输入的字符集。

  • $out_charset:输出的字符集。

    如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,会导致一个 E_NOTICE并返回 false。

    警告

    //TRANSLIT 运行细节高度依赖于系统的 iconv() 实现(参见 ICONV_IMPL)。 据悉,某些系统上的实现会直接忽略 //TRANSLIT,所以转换也有可能失败,out_charset 会是不合格的。

  • $str:要转换的字符串。

返回值:返回转换后的字符串, 或者在失败时返回 false。

5.4.0 版本起,字符非法时候会返回 false,除非在输出字符里指定了 //IGNORE 。 在之前版本,它会返回一部分字符串。


php怎么将数据编码从utf-8转为gbk