先記下,免得以後想不起來又到處去找!
PHP操作數據庫的時候,數據庫中數據使用UTF8編碼,在讀出來的時候,顯示的全是???????問號亂碼,找了一些資料原來是在讀取之前進行一次編碼設置:
復制代碼 代碼如下:
create table tablename
(
id int not null auto_increment,
title varchar(20) not null,
contnet varchar(300) defalut null,
primary key ('id')
)begin=MyISAM DEFAULT CHARSET =UTF8;
在插入數據之前執行:
復制代碼 代碼如下:
mysql_query("SET NAMES utf8");
然後
mysql_query("insert into tablename .....")
讀出數據之前執行:
復制代碼 代碼如下:
mysql_query("SET NAMES utf8");
然後 mysql_query("select * from tablename")
注意:此處讀出的編碼是把原來編碼的內容重新經過編碼後輸出的,比如輸出內容所在頁面是GBK編碼,那麼在讀出的時候在頁面顯示也為亂碼,所以在查詢之前執行 mysql_query("SET NAMES gbk"),在頁面就可以正常顯示GBK編碼的文字內容 。