SQLSTATE[HY000] [2002] 亂碼解決方法
阿新 • • 發佈:2018-11-20
<?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 PDO連線MySQL資料庫時,如果MySQL沒有啟動或者無法訪問時將會出現SQLSTATE[HY000] [2002]錯誤。該錯誤資訊是由PHP所在的計算機系統底層產生的,如果作業系統為Windows並且作業系統語言為簡體中文,那麼錯誤資訊為GBK編碼,PHP使用非GBK編碼時會出現亂碼,解決方法是將錯誤資訊從GBK轉碼為UTF-8以後再輸出,轉碼可以使用iconv()函式,該函式需要開啟php mbstring擴充套件以後才能使用,下面是解決 SQLSTATE[HY000] [2002] 亂碼的PHP示例程式碼。
在php.ini中開啟擴充套件即可