页面编码utf-8Ajax提交内容:
“输入答案,点击[回答]按钮,回答话题”代码:
mysql_query('set names latin1');//数据库编码$askUser =$_POST['askUser'];
$askId =$_POST['askId'];
$content =$_POST['content'];echo($content.':'.mb_detect_encoding($content).'<br />');$sql="INSERT INTO `answer` (`id`, `uid`, `asid`, `content`, `readme`) VALUES (NULL, '".$user."','".$askId."','".$content."', NULL)";
echo($sql.'<br />');
echo 'aaa:'.base64_encode($content).'=>kkk<br />';  
$resultAns =mysql_query($sql);执行结果:
输入答案,点击[回答]按钮,回答话题:UTF-8
INSERT INTO `answer` (`id`, `uid`, `asid`, `content`, `readme`) VALUES (NULL, '','20','输入答案,点击[回答]按钮,回答话题', NULL)
aaa:6L6T5YWl562U5qGI77yM54K55Ye7W+WbnuetlF3mjInpkq4s5Zue562U6K+d6aKY=>kkk数据库$content对应内容:
杈撳叆绛旀锛岀偣鍑籟鍥炵瓟]鎸夐挳,鍥炵瓟璇濋请高手帮忙看看在怎么回事?

解决方案 »

  1.   

    请回答下你的php页面是啥编码啊,刚不就说了吗,$content = iconv('你php页面编码类型', 'latin1', $content);
    然后向数据库插入$content
      

  2.   

    $content = iconv('ISO-8859-1', 'latin1', $content);
    如果你的页面编码是ISO-8859-1的话
      

  3.   


    提交内容:输入答案1234代码:
    $encode=mb_detect_encoding($content,array("latin1","UTF-8","GB2312","GBK"));
    $content = iconv($encode, 'latin1', $content);$sql="INSERT INTO `answer` (`id`, `uid`, `asid`, `content`, `readme`) VALUES (NULL, '".$user."','".$askId."','".$content."', NULL)";
    echo($sql.'<br />');
    echo 'aaa=>'.base64_encode($content).'=>kkk<br />'; 
    $resultAns =mysql_query($sql);
    页面执行结果:
    INSERT INTO `answer` (`id`, `uid`, `asid`, `content`, `readme`) VALUES (NULL, '','30','输入答案1234', NULL)
    aaa=>6L6T5YWl562U5qGIMTIzNA===>kkk数据库还是乱码:
    杈撳叆绛旀1234
      

  4.   

    其实是很简单的,你只需将 content 字段的连接校对改成 utf8_general_ci 就可以了
      

  5.   


    数据库编码:Latin1(服务器给的)
      

  6.   

    上面有测试结果和各位朋友的回复,如果哪位大侠知道结果,请发邮箱[email protected],谢谢!!!我继续跟代码较劲去了。