先贴上我的代码:$char = str_split($city);
echo count($char).':';
echo ord($char[0]).'-';
echo ord($char[1]).'-';
echo ord($char[2]).'-';
echo ord($char[3]).'-';
echo ord($char[4]).'-';
echo ord($char[5]).'-';
echo ord($char[6]).'-';
echo ord($char[7]).'-';
echo ord($char[8]).'-';
echo ord($char[9]).'-';
$conv_str = iconv("utf8","gb2312",$city);
echo $conv_str;我的 $city 是用 utf8 编码的 "西湖" 两个汉字
上面这些 echo 证明了它是正确编码的。可是到后面 iconv 后,为什么就没有任何输出了?
echo count($char).':';
echo ord($char[0]).'-';
echo ord($char[1]).'-';
echo ord($char[2]).'-';
echo ord($char[3]).'-';
echo ord($char[4]).'-';
echo ord($char[5]).'-';
echo ord($char[6]).'-';
echo ord($char[7]).'-';
echo ord($char[8]).'-';
echo ord($char[9]).'-';
$conv_str = iconv("utf8","gb2312",$city);
echo $conv_str;我的 $city 是用 utf8 编码的 "西湖" 两个汉字
上面这些 echo 证明了它是正确编码的。可是到后面 iconv 后,为什么就没有任何输出了?
你是要从gb2312转换到utf-8吧,应该改成 : $conv_str = iconv("gb2312","utf-8",$city);
中间少了一个横杠,utf8是mysql里面的写法
$conv_str = iconv("utf-8","gb2312",$city);
所以你倒数第二行的转码有问题了:应该成:$conv_str = iconv('gb2312','utf-8',$city);
或者$conv_str = mb_convert_encoding($city,'gb2312','utf-8');