- $_GET['username'] = preg_match('/^[a-zA-Z0-9[:punct:]]+$/',$_GET['username']) ? $_GET['username'] : (stripos('a'.$_G['charset'],'gbk') ? my_encode_utf8_to_gbk($_GET['username']) : my_encode_gbk_to_utf8($_GET['username']));
复制代码
- if(!function_exists('my_encode_gbk_to_utf8')) {
- function my_encode_gbk_to_utf8($value, $from='gbk', $to='utf-8', &$myzhuan=TRUE) { // 会把原utf-8的 "摔跤吧!爸爸" 错误识别为gbk, 导致强制误转了
- $myzhuan = TRUE;
- if($from == $to || !$value) return $value;
- $value_1 = @mb_convert_encoding($value, $to, $from);
- $value_2 = @mb_convert_encoding($value_1, $from, $to);
- if($value_2 == $value && !check_encode($value, 'utf-8')) { // 已加 check_encode() 二次验证好
- return $value;
- }else{
- $myzhuan = false;
- return $value_1;
- }
- }
- }
复制代码
本人写的,终极解决中文空间问题 |