資源描述:
《mysql+php中文亂碼問題及mysql時間函數(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、.mysql+php中文顯示亂碼的解決mysql+php中文顯示亂碼的解決建議數(shù)據(jù)庫用utf8編碼問題匯總:1.mysql數(shù)據(jù)庫默認(rèn)的編碼是utf8,如果這種編碼與你的PHP網(wǎng)頁不一致,可能就會造成MYSQL亂碼.2.MYSQL中創(chuàng)建表時會讓你選擇一種編碼,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.3.MYSQL創(chuàng)建表時添加字段是可以選擇編碼的,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.4.用戶提交頁面的編碼與顯示數(shù)據(jù)的頁面編碼不一致,就肯定會造成PHP頁面亂碼.5.如用戶輸入資
2、料的頁面是big5碼,顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.6.PHP頁面字符集不正確.7.PHP連接MYSQL數(shù)據(jù)庫語句指定的編碼不正確.使用mysql+php產(chǎn)生亂碼的原因都了解得很清楚了,那么解決就不困難了.針對不同問題的解決方法:...1.mysql數(shù)據(jù)庫默認(rèn)的編碼是utf8,如果這種編碼與你的PHP網(wǎng)頁不一致,可能就會造成MYSQL亂碼.修改數(shù)據(jù)庫編碼,如果是數(shù)據(jù)庫編碼不正確,可以在phpmyadmin執(zhí)行如下命令:ALTERDATABASE'test'DEFAULTCHA
3、RACTERSETutf8COLLATEutf8_bin以上命令就是將test數(shù)據(jù)庫的編碼設(shè)為utf8.2.MYSQL中創(chuàng)建表時會讓你選擇一種編碼,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.修改表的編碼:ALTERTABLE'category'DEFAULTCHARACTERSETutf8COLLATEutf8_bin以上命令就是將一個表category的編碼改為utf8.3.MYSQL創(chuàng)建表時添加字段是可以選擇編碼的,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.修改字段的編碼:A
4、LTERTABLE'test'CHANGE'dd''dd'VARCHAR(45)CHARACTERSETutf8COLLATEutf8_binNOTNULL以上命令就是將test表中dd的字段編碼改為utf8.4.用戶提交頁面的編碼與顯示數(shù)據(jù)的頁面編碼不一致,就肯定會造成PHP頁面亂碼.如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可.5.如用戶輸入資料的頁面是big5碼,...顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.這種情況也是修改頁面charset即可.6.P
5、HP頁面字符集不正確.為了避免PHP頁面亂碼的發(fā)生,PHP頁面開始第一句header("content-type:text/html;charset=utf-8");//強行指定頁面的編碼,以避免亂碼7.PHP連接MYSQL數(shù)據(jù)庫語句指定的編碼不正確.在連接數(shù)據(jù)庫的語句中.mysql_connect('localhost','user','password');mysql_select_db('my_db');mysql_query("setnamesutf8;");//select數(shù)據(jù)庫之后加多這一句mysql日
6、期函數(shù)的總結(jié)DATE_FORMAT(date,format)根據(jù)format字符串格式化date值。下列修飾符可以被用在format字符串中:%M月名字(January……December)%W星期名字(Sunday……Saturday)%D有英語前綴的月份的日期(1st,2nd,3rd,等等。)%Y年,數(shù)字,4...位%y年,數(shù)字,2位%a縮寫的星期名字(Sun……Sat)%d月份中的天數(shù),數(shù)字(00……31)%e月份中的天數(shù),數(shù)字(0……31)%m月,數(shù)字(01……12)%c月,數(shù)字(1……12)%b縮寫的月份
7、名字(Jan……Dec)%j一年中的天數(shù)(001……366)%H小時(00……23)%k小時(0……23)%h小時(01……12)%I小時(01……12)%l小時(1……12)%i分鐘,數(shù)字(00……59)%r時間,12小時(hh:mm:ss[AP]M)%T時間,24小時(hh:mm:ss)%S秒(00……59)%s秒(00……59)%pAM或PM%w一個星期中的天數(shù)(0=Sunday……6=Saturday)%U星期(0……52),...這裡星期天是星期的第一天%u星期(0……52),這裡星期一是星期的第一天%%
8、一個文字「%」。這裡是一個使用日期函數(shù)的例子。下面的查詢選擇所有date_col值在最後30天內(nèi)的記錄。mysql>SELECTsomethingFROMtbl_nameWHERETO_DAYS(NOW())-TO_DAYS(date_col)<=30;DAYOFWEEK(date)返回date的星期索引(1=Sunday,2=Monday,...7=Sat