困惑了好多天的乱码,求帮忙! 本帖最后由 xuzuning 于 2011-04-19 06:44:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 php的文件保存格式是不是utf-8 同楼上head4.php如果不是utf8格式的话你干脆用gbk得了 将charset=utf-8"> 改成gb2312然后不行 在gbk <HTML><HEAD><META http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Language" content="zh-CN" /></head><body><?php$q=$_GET['q'];var_dump($q);if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$q)) { echo iconv("gb2312","utf-8//IGNORE",$q);}echo $q;?></body></html> 文件的格式是utf-8,上面的图片不知道为啥没有了,重新发一张hnxxwyq的方法行是行,可是IE下又有新的问题诞生了。 GBK和UTF-8的URLENCODE编码应该还是有区别的!utf-8的中国人为:%E4%B8%AD%E5%9B%BD%E4%BA%BA而GBK的是%D6%D0%B9%FA%C8%CB 可尝试使用这个函数if(! function_exists('strconv')):/** * 函数 strconv * 功能 将 未知编码的内容转换成 utf-8 的 **/function strconv($s) { $codepage = mb_detect_encoding($s, array('ASCII','UTF-8','GB2312','GBK','BIG-5')); return iconv($codepage, 'utf-8', $s);}endif; 你可以仅仅输出一种提示吗?<HTML><HEAD><META http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Language" content="zh-CN" /></head><body><?php$q=$_GET['q'];if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$q)) { $q = iconv("gb2312","utf-8//IGNORE",$q);}echo $q;?></body></html>或者就用老大的方式,如果你只会出现gbk的内容话,用我这个也可以! PHP 计划任务---- 关闭功能 怎么实现 请教:如何判断是否被include php如何实现社交网络图? 请教UCHome中几张表的语义 '\xE5\x8F' 这种字符怎么转成utf8字符啊 写入文本居然不换行?为什么! 在PHP中數組的輸出問題 如何用PHP实现基本身份验证 php中怎样实现对论坛发言的提交和编辑? 请教一下,www.go2map.com 的寻找 最佳路线的算法如何实现的,给分 php多选提交到数据库问题 PHP脚本调用zip创建压缩包,如何仅添加相对目录,或者不添加目录信息
head4.php如果不是utf8格式的话你干脆用gbk得了
然后不行 在gbk
<HTML><HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="zh-CN" />
</head>
<body>
<?php
$q=$_GET['q'];
var_dump($q);
if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$q)) {
echo iconv("gb2312","utf-8//IGNORE",$q);
}
echo $q;
?>
</body>
</html>
utf-8的中国人为:%E4%B8%AD%E5%9B%BD%E4%BA%BA
而GBK的是%D6%D0%B9%FA%C8%CB
if(! function_exists('strconv')):
/**
* 函数 strconv
* 功能 将 未知编码的内容转换成 utf-8 的
**/
function strconv($s) {
$codepage = mb_detect_encoding($s, array('ASCII','UTF-8','GB2312','GBK','BIG-5'));
return iconv($codepage, 'utf-8', $s);
}
endif;
你可以仅仅输出一种提示吗?<HTML><HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="zh-CN" />
</head>
<body>
<?php
$q=$_GET['q'];if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$q)) {
$q = iconv("gb2312","utf-8//IGNORE",$q);
}
echo $q;
?>
</body>
</html>或者就用老大的方式,如果你只会出现gbk的内容话,用我这个也可以!