SQLSTATE[HY000] [2002] 亂碼解決方法

 <?php
        try{
                $db = new pdo(
                        'mysql:host=wuxiancheng.cn;port=3306;dbname=mysql;charset=utf8',
                        'user',
                        'password',
                        array(
                                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                                PDO::ATTR_TIMEOUT => 3
                        )
                );
        }catch(PDOException $e){
                echo $e->getMessage();
                echo '<br />';
                echo iconv('gbk', 'utf-8', $e->getMessage());
        }
?>

SQLSTATE[HY000] [2002] 因爲目標計算機積極拒絕,沒法鏈接。  php

PHP PDO鏈接MySQL數據庫時,若是MySQL沒有啓動或者沒法訪問時將會出現SQLSTATE[HY000] [2002]錯誤。該錯誤信息是由PHP所在的計算機系統底層產生的,若是操做系統爲Windows而且操做系統語言爲簡體中文,那麼錯誤信息爲GBK編碼,PHP使用非GBK編碼時會出現亂碼,解決方法是將錯誤信息從GBK轉碼爲UTF-8之後再輸出,轉碼能夠使用iconv()函數,該函數須要開啓php mbstring擴展之後才能使用,下面是解決 SQLSTATE[HY000] [2002] 亂碼的PHP示例代碼。html

在php.ini中開啓擴展便可mysql

相關文章
相關標籤/搜索