>教育資源庫  首先,這片文章純粹是我的個(gè)人經(jīng)驗(yàn)之談,適用于我常見的環(huán)境及項(xiàng)目中.  個(gè)人建議,數(shù)據(jù)庫字符集盡量使用utf8(HTML頁面對(duì)應(yīng)的是utf-8),以使你的數(shù)據(jù)能很順利的實(shí)現(xiàn)遷移,因?yàn)閡tf8字符集是目前最">
小談mysql字符集

小談mysql字符集

ID:20512979

大?。?4.00 KB

頁數(shù):3頁

時(shí)間:2018-10-13

小談mysql字符集_第1頁
小談mysql字符集_第2頁
小談mysql字符集_第3頁
資源描述:

《小談mysql字符集》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、小談MySQL字符集>>教育資源庫  首先,這片文章純粹是我的個(gè)人經(jīng)驗(yàn)之談,適用于我常見的環(huán)境及項(xiàng)目中.  個(gè)人建議,數(shù)據(jù)庫字符集盡量使用utf8(HTML頁面對(duì)應(yīng)的是utf-8),以使你的數(shù)據(jù)能很順利的實(shí)現(xiàn)遷移,因?yàn)閡tf8字符集是目前最適合于實(shí)現(xiàn)多種不同字符集之間的轉(zhuǎn)換的字符集,盡管你在命令行工具上可能無法正確查看數(shù)據(jù)庫中的內(nèi)容,我依然強(qiáng)烈建議使用utf8作為默認(rèn)字符集.  接下來是完整的一個(gè)例子:  1.創(chuàng)建數(shù)據(jù)庫表  mysql>CREATEDATABASEIFNOTEXISTSmy_dbdefaultcharsetu

2、tf8COLLATEutf8_general_ci;  #注意后面這句話COLLATEutf8_general_ci,大致意思是在排序時(shí)根據(jù)utf8校驗(yàn)集來排序  #那么在這個(gè)數(shù)據(jù)庫下創(chuàng)建的所有數(shù)據(jù)表的默認(rèn)字符集都會(huì)是utf8了  mysql>createtablemy_table(namevarchar(20)notnulldefault'')type=myisamdefaultcharsetutf8;  #這句話就是創(chuàng)建一個(gè)表了,制定默認(rèn)字符集為utf8  2.寫數(shù)據(jù)  例子1是通過php直接插入數(shù)據(jù):  

3、a.php<?phpmysql_connect('localhost','user','passysql_select_db('my_db');  //請(qǐng)注意,這步很關(guān)鍵,如果沒有這步,所有的數(shù)據(jù)讀寫都會(huì)不正確的//它的作用是設(shè)置本次數(shù)據(jù)庫聯(lián)接過程中,數(shù)據(jù)傳輸?shù)哪J(rèn)字符集//其他編程語言/接口也類似,例如.c#/odbc//jdbc則設(shè)置連接字符串為類似jdbc:mysql://localhost/db?user=userpassp;useUnicode=truechar

4、acterEncoding=UTF-8  mysql_query(setnamesutf8;);//必須將gb2312(本地編碼)轉(zhuǎn)換成utf-8,也可以使用iconv()函數(shù)mb_convert_encoding(insertintomy_tablevalues('測(cè)試');,utf-8,gb2312);?>  例子是通過頁面提交插入數(shù)據(jù)2:  b.php<?php//輸出本頁編碼為utf-8header(content-type:text/html;charset=utf-8);  mysql_con

5、nect('localhost','user','passysql_select_db('my_db');  mysql_query(setnamesutf8;);if(isset($_REQUEST['name')){//由于上面已經(jīng)指定本頁字符集為utf-8了,因此無需轉(zhuǎn)換編碼mysql_query(sprintf(insertintomy_tablevalues('%s');,$_REQUEST['name']));}  $

6、q=mysql_query(select*frommy_table);ysql_fetch_roetahttp-equiv=Content-Typecontent=text/html;charset=utf-8><formaction=method=post><inputtype=textname=namevalue=><inputtype=submitvalue='submit'></form>  自此,使用utf8字符集的完整的例子結(jié)束了.  如果你想使用gb

7、2312編碼,那么建議你使用latin1作為數(shù)據(jù)表的默認(rèn)字符集,這樣就能直接用中文在命令行工具中插入數(shù)據(jù),并且可以直接顯示出來.而不要使用gb2312或者gbk等字符集,如果擔(dān)心查詢排序等問題,可以使用binary屬性約束,例如:  createtablemy_table(namevarchar(20)binarynotnulldefault'')type=myisamdefaultcharsetlatin1;  附1:舊數(shù)據(jù)升級(jí)辦法  以原來的字符集為latin1為例,升級(jí)成為utf8的字符集。原來的表:old_t

8、able(defaultcharset=latin1),新表:neysqldump--default-character-set=latin1-hlocalhost-uroot-Bmy_db--tablesold_table>o

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。