PHP MYSQL亂碼問題,使用SET NAMES utf8校正
更新時間:2009年11月30日 21:07:12 作者:
PHP操作數(shù)據(jù)庫的時候,數(shù)據(jù)庫中數(shù)據(jù)使用UTF8編碼,在讀出來的時候,顯示的全是???????問號亂碼,找了一些資料原來是在讀取之前進(jìn)行一次編碼設(shè)置
先記下,免得以后想不起來又到處去找!
PHP操作數(shù)據(jù)庫的時候,數(shù)據(jù)庫中數(shù)據(jù)使用UTF8編碼,在讀出來的時候,顯示的全是???????問號亂碼,找了一些資料原來是在讀取之前進(jìn)行一次編碼設(shè)置:
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;
在插入數(shù)據(jù)之前執(zhí)行:
mysql_query("SET NAMES utf8");
然后
mysql_query("insert into tablename .....")
讀出數(shù)據(jù)之前執(zhí)行:
mysql_query("SET NAMES utf8");
然后 mysql_query("select * from tablename")
注意:此處讀出的編碼是把原來編碼的內(nèi)容重新經(jīng)過編碼后輸出的,比如輸出內(nèi)容所在頁面是GBK編碼,那么在讀出的時候在頁面顯示也為亂碼,所以在查詢之前執(zhí)行 mysql_query("SET NAMES gbk"),在頁面就可以正常顯示GBK編碼的文字內(nèi)容 。
PHP操作數(shù)據(jù)庫的時候,數(shù)據(jù)庫中數(shù)據(jù)使用UTF8編碼,在讀出來的時候,顯示的全是???????問號亂碼,找了一些資料原來是在讀取之前進(jìn)行一次編碼設(shè)置:
復(fù)制代碼 代碼如下:
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;
在插入數(shù)據(jù)之前執(zhí)行:
復(fù)制代碼 代碼如下:
mysql_query("SET NAMES utf8");
然后
mysql_query("insert into tablename .....")
讀出數(shù)據(jù)之前執(zhí)行:
復(fù)制代碼 代碼如下:
mysql_query("SET NAMES utf8");
然后 mysql_query("select * from tablename")
注意:此處讀出的編碼是把原來編碼的內(nèi)容重新經(jīng)過編碼后輸出的,比如輸出內(nèi)容所在頁面是GBK編碼,那么在讀出的時候在頁面顯示也為亂碼,所以在查詢之前執(zhí)行 mysql_query("SET NAMES gbk"),在頁面就可以正常顯示GBK編碼的文字內(nèi)容 。
相關(guān)文章
學(xué)習(xí)php設(shè)計模式 php實現(xiàn)抽象工廠模式
這篇文章主要介紹了php設(shè)計模式中的抽象工廠模式,使用php實現(xiàn)抽象工廠模式,感興趣的小伙伴們可以參考一下2015-12-12PHP基于array_unique實現(xiàn)二維數(shù)組去重
這篇文章主要介紹了PHP基于array_unique實現(xiàn)二維數(shù)組去重,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07基于PHP實現(xiàn)數(shù)據(jù)分頁顯示功能
這篇文章主要為大家詳細(xì)介紹了基于PHP實現(xiàn)數(shù)據(jù)分頁顯示功能,分頁在后臺管理中是經(jīng)常使用的功能,分頁顯示方便大量數(shù)據(jù)的管理,感興趣的小伙伴們可以參考一下2016-05-05