set names 'gbk' 是指設(shè)定 客戶端環(huán)境的編碼, 而不是指創(chuàng)建表的編碼. 要創(chuàng)建表的編碼, 就得
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、云和ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的云和網(wǎng)站制作公司
CREATE TABLE uu
(
id int;
) DEFAULT CHARSET='gbk';
頁面文件加上header("Content-Type:text/html;charset=gbk");
character_set_client=binary 改為character_set_client=gbk
在你的語句中修改下 character_set_client=gbk,再試試,如果不行
在MYSQL中執(zhí)行下面的語句看看你的數(shù)據(jù)庫和表是什么字符集,字符集和頁面要統(tǒng)一
1、顯示某數(shù)據(jù)庫字符集設(shè)置
show create database 你的數(shù)據(jù)庫名;
2、顯示某數(shù)據(jù)表字符集設(shè)置
show create table 你的表名;
我來給你做一個綜合解釋吧。 在正常情況下。 PHP腳本 HTML 已經(jīng)瀏覽器 然后就是數(shù)據(jù)庫。 都有自己的字符集。何謂字符集。我想你如果是一個真正想熱衷于學(xué)PHP 那么你應(yīng)該花一定的時間去了解一下字符集的問題。 就好比我做第一個項目。因為字符集搞的死去活來。 1.PHP的字符集。一般PHP網(wǎng)頁的是嵌套在html頁面以內(nèi)。那么如果在沒有沖突的情況下可以使用 header方面設(shè)置。比如?php header ... ? 3.數(shù)據(jù)庫的問題。mysql_query("set names gbk"); 這句話意思就是說,在操作數(shù)據(jù)庫的時候已這個字符集去讀寫。當然這個字符集要對應(yīng)你的頁面的字符集哦。 4.瀏覽器。瀏覽器的問題是最萬惡的,因為每個瀏覽器默認的是gb2312.當然不同的瀏覽器是不同的。所以要想成為一名優(yōu)秀的程序員,寫出優(yōu)質(zhì)的代碼。你還得去了解每個瀏覽器的差別。當然目前是不需要的,當然這個問題你慢慢學(xué)習(xí)。寫代碼的過程中會慢慢了解到的。你要做的就是將所有使用字符集確保一致性
字符集很簡單,但是數(shù)據(jù)的排序需要通過SQL語句來協(xié)助完成,ORDER BY 語句,代碼如下:
//?假設(shè)你已經(jīng)成功連接了數(shù)據(jù)庫($mysqli變量假設(shè)為連接的資源句柄)
//?通過對象方式設(shè)置字符編碼
$mysqli?-?set_charset('utf8');
//?通過函數(shù)方式設(shè)置字符編碼
mysqli_set_charset($mysqli,?'utf8');
//?那么接下來是數(shù)據(jù)排序的話,需要編寫一條SQL查詢語句(DESC?倒序排列?|?ASC?正序排列)
$sql?=?"SELECT?`字段`?FROM?`表名`?WHERE?TRUE?ORDER?BY?`字段`?DESC;";
如果還有什么問題,歡迎追問~