- 論壇徽章:
- 0
|
和很多朋友一樣,在寫PHP代碼的時(shí)候,或者移植別人寫過的代碼時(shí),經(jīng)常會(huì)出現(xiàn)亂碼...很頭痛!
后來,上網(wǎng)仔細(xì)查了下文章,研究了好半天,同時(shí),策劃寫了個(gè)全套產(chǎn)品,才把字符集的問題搞定了!總結(jié)一下,自己的方法!
1.數(shù)據(jù)庫盡量使用utf8存儲(chǔ)(修改/etc/my.cnf,在[mysqld]段加上default-character-set=utf8)
(已有的數(shù)據(jù)庫,先轉(zhuǎn)成UTF8格式)
2.PHP程序在查詢數(shù)據(jù)庫之前,執(zhí)行mysql_query(“set names xxxx”);其中xxxx是你網(wǎng)頁的編碼(charset=xxxx),如果網(wǎng)頁中charset=utf8,則xxxx=utf8,如果網(wǎng)頁中 charset=gb2312,則xxxx=gb2312,如果網(wǎng)頁中的charset=ipaddr,則xxxx=ipaddr (開個(gè)玩笑,沒這編碼)
幾乎所有WEB程序,都有一段連接數(shù)據(jù)庫的公共代碼,放在一個(gè)文件里,在這文件里,加入mysql_query(“set names”)就可以了。
3.PHPMyAdmin不需要做改動(dòng)。
4.需要注意的是,為保證網(wǎng)頁實(shí)際編碼(Windows保存對(duì)話框里的編碼)和他聲明的編碼(charset=?)是一致的,請(qǐng)用DW之類的工具做網(wǎng)頁。
[Copy to clipboard]
[ - ]
CODE:
4.php程序中的header重定向
header("content-type:text/html; charset=xxx");
寫得有點(diǎn)倉促,希望大家指正和補(bǔ)充。
轉(zhuǎn)載:blog.airincity.com
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/30002/showart_352939.html |
|