首先,UTF-8编码的中文字符也是正常的。如果你认为 gb2312 才“正常”, 可以这样:utf8_str = '中文'; // 注意这儿得是 UTF-8 编码的字符串 gb2312_str = mb_convert_encoding($str, 'GB2312', 'UTF-8');E5%90%89%E6%9E%97 有人已经回答了,用 urldecode 就行了。
html 为utf-8编码 form 产生一些中文输入项提交到后台; 后台通过file_get_contents('php://input');接收 使用var_dump,echo 等显示接收字符串为 utf-8形式,通过iconv()转换,结果依然如此; 后使用urldecode()后,能正常显示中文。前后台程序都是使用zend studio环境。
$a=mb_convert_encoding($a, 'GB2312', 'UTF-8'); gb23112是输出后台的编码 echo $a; ?>