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

2021-08-03 03:56:14 字數 1049 閱讀 2687

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

(pdo::mysql_attr_init_command => "set names'utf8';")); 

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

結果是這樣的:如圖1示 

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

pdo::__construct($dsn, $user, $pass, array(pdo::mysql_attr_init_command => "set 

names'gbk';")); 

效果圖2如下: 

第二種: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中PDO解決中文亂碼

在網上最常出現的解決中文亂碼顯示的 是 第一種 pdo construct dsn,user,pass,array pdo mysql attr init command set names utf8 我試過用第一種方法,可結果是,name欄位只顯示乙個 c 字元。之後的本該顯示中文的地方卻是空白。...

PHP 解決PHP和MySQL的中文亂碼問題

php連線資料庫的時候經常會出現中文亂碼,一般只需要檢查編碼是否統一就可以解決亂碼問題。1.資料庫的字元編碼 可以將將所有編碼設定為utf 8。這樣在資料庫中就能正常顯示中文了,phpadmin預設的就是utf 8編碼。2.頁面檔案的字元編碼 在編輯器中右擊,選擇編碼方式也為utf8即可。3.php...

解決mssql for linux 中文亂碼問題

什麼叫一波未平一波又起,這就是,好不容易安裝完成了,在用的時候居然出現了亂碼,很是頭疼,但還是解決了這個蛋疼的問題,在windows中使用mssql這麼久,從來沒出現過中文亂碼的情況,具體原因是出現在sql server的安裝配置上,預設安裝時,系統預設的排序規則時拉丁文的排序規則,在安裝過程中從來...