Warning: mysql_connect() [function.mysql-connect]: [2002] 由于目标机器积极拒绝,无法连接。这是强制转换为gbk时的信息, 如果使用页面header指定的编码, 则中文是乱码.

解决方案 »

  1.   

    应该是mysql或操作系统的问题吧。
    实在不行只能重装系统了。
      

  2.   


    应该不乱, 好像就是php自己的编码是gbk.
      

  3.   

    应该是mysql数据库的问题, 数据库设置的编码不是utf8, 它输出的错误信息就不是utf8, 和网页没关系.
      

  4.   

    我觉得很清楚了啊, 就是我在网页上打了个地址, 然后, 因为数据库连接出现问题, 但是给出的错误信息中的中文是乱码. 正常情况, 不管你用什么编码, PHP应该会自动识别, 不可能在错误信息里给出不正确的编码.原因就是这个错误信息其实是数据库传递过来的, 而数据库的编码(数据库有很多编码设置, 连接编码, 数据库编码等等)不是utf8的, 它给出的是gbk的编码信息.通过设置数据库的编码, 问题已经解决.
      

  5.   


    php可不会自动识别编码。网页显示时使用何种编码,是由http头来决定的。浏览器识别http头后帮用户选择用什么编码查看。如果http头中描述的编码和你数据本身的编码不一致必然会乱码。你试试下面代码会不会乱码。<?php
    header("Content-type: text/html; charset=utf-8");
    echo iconv('utf-8','gbk//ignore','测试编码');