PHP中PDO解決中文亂碼

2021-08-02 14:01:32 字數 990 閱讀 9573

在網上最常出現的解決中文亂碼顯示的**是:

第一種:pdo::__construct($dsn, $user, $pass, array

(pdo::mysql_attr_init_command => 「set names』utf8′;」));

我試過用第一種方法,可結果是,name欄位只顯示乙個『c』字元。之後的本該顯示中文的地方卻是空白。

結果是這樣的:如圖所示

我是只要解決的:直接將utf8替換成了gbk,就可以了,即:

pdo::__construct($dsn, $user, $pass, array(pdo::mysql_attr_init_command => 「set names』gbk』;」));

效果圖如下:

第二種:pdo::__construct($dsn, $user, $pass);

pdo::exec(「set names 『utf8』;」);

第二種我也在我的環境裡測試過,顯示效果如圖1所示,碰到這種情況,把utf8替換成gbk,就能顯

示了。另外,這裡的pdo::在使用的時候用$pdo->代替,當然,這個是個變數,變數名稱可以自己定義。

第三種:$pdo->query(『set names utf8;』);

至於第三種呢,看了上面兩種,應該也知道要吧utf8替換成gbk,也能正確顯示了。

這幾種我都測試過了。都行。哈哈。另外,我在這裡還介紹一種解決中文亂碼的一種方法,不過大同小異,

基本和第三種沒什麼卻別,不通的是,這種方法,沒用query而是用exec,**如下:

$pdo->exec(「set character set gbk」);

以上幾種方法測試過,都能解決中文亂碼問題。

PHP解決中文亂碼

在php中,中文亂碼非常頭疼,很麻煩,所以根據在程式設計的經驗,總結以下方法 以utf 8為例 1.php中在頭部header設定編碼方式 hea content type text html charset utf 8 2.php中用iconv轉碼 echo iconv gb2312 utf 8 ...

在PHP中PDO解決中文亂碼問題的一些補充

第一種 pdo construct dsn,user,pass,array pdo mysql attr init command set names utf8 我試過用第一種方法,可結果是,name欄位只顯示乙個 c 字元。之後的本該顯示中文的地方卻是空白。結果是這樣的 如圖1示 我是只要解決的 ...

php 轉換中文亂碼,解決php中文亂碼轉換問題

php中文亂碼轉換的解決辦法 1 設定編碼為 header content type text html charset utf 8 2 使用 mb convert encoding 等函式進行轉換。php 中文輸出亂碼和轉碼問題 1.header content type text html ch...