大家好,我用的phpstudyadmin,我用这个东西发生了好多奇怪的情况,不知道是我不懂的原因还是?我提出问题,希望高手帮助在下。1.我发装好之后,PHP与mysql之间可以通信,但是apache是未启动的状态,还可以通信,这个我不懂为什么?
        2.我在插入中文数据的时侯在mysql里面显示的是乱码,英文的是正常的。然后我又设置mysql字符集,有已经试过gbk,utf8,gb2312,我这几个都试过了,每次也都重启了mysql,但是显示的中文都是乱码。
   请高手指教!!!!!!!

解决方案 »

  1.   

    你看一下你PHP的那个的编码跟mysql 的编码是不是一样的 然后在数据库代码那里加一句这个 我用的utf-8的
    mysql_query("set character set 'utf8'");
      

  2.   

    1.我发装好之后,PHP与mysql之间可以通信,但是apache是未启动的状态,还可以通信,这个我不懂为什么?如果是直接运行php cli模式的话,不需要apache也可以的 2.我在插入中文数据的时侯在mysql里面显示的是乱码,英文的是正常的。然后我又设置mysql字符集,有已经试过gbk,utf8,gb2312,我这几个都试过了,每次也都重启了mysql,但是显示的中文都是乱码。你设定的存储的字符集,还需要有显示时的返回字符集
    mysql_query("set character set 'utf8'");
      

  3.   

    set names 'utf8';
      

  4.   

    set names 'utf8';
      

  5.   

        数据库用UTF8通用版,页面文件基本不需要处理,然后文件本身编码改用utf-8编码(记事本修改),以后都这样处理,可以做到尽可能不转换编码,而不会乱码!通用性好,尤其是在做大量前端AJAX请求和JSON处理的时候,这点尤其重要,可以减少不必要的编码混乱!
      

  6.   

    1.我发装好之后,PHP与mysql之间可以通信,但是apache是未启动的状态,还可以通信,这个我不懂为什么?
    答:你描述的不够详细,笔者推断可能是你的误判,你是linux环境还是win? 2.我在插入中文数据的时侯在mysql里面显示的是乱码,英文的是正常的。然后我又设置mysql字符集,有已经试过gbk,utf8,gb2312,我这几个都试过了,每次也都重启了mysql,但是显示的中文都是乱码。
    答:修改httpd.conf (在Redhat中放置的位置为/etc/httpd/conf/)
    查找:
    AddDefaultCharset ISO-8859-1
    改成:
    #AddDefaultCharset ISO-8859-1
    AddDefaultCharset off这种方式关掉了服务器的默认语言的发送,这样仅凭html文件头中设置的语言来决定网页语言。问题应该可以解决了!
      

  7.   

    关于编码问题。你一定要把你的php文件(物理文件)保存为utf8.