如何解决php get 乱码问题

php get乱码的解决办法:1、使用iconv函数将字符串按要求的字符编码进行转换;2、使用mb_convert_encoding转换编码即可。

本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。

如何解决php get 乱码问题??

PHP接收GET中文参数乱码的原因及解决方案

方案1:

$str = iconv("gb2312","utf-8",$str);

方案2:

mb_convert_encoding($str, "utf-8", "gb2312");

相关介绍:

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。

php mb_convert_encoding:php内置编码转换方法。

方法原型:string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )

将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding。

推荐学习:《PHP视频教程》