如何解决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视频教程》