php ajax mysql 出错,MySql + PHP + Ajax的乱码问题的解决方案
現(xiàn)如今,基本的web2.0應(yīng)用都會(huì)涉及到表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)層等多個(gè)層次。在數(shù)據(jù)的來(lái)回傳遞中,新手一不注意就會(huì)產(chǎn)生漢字的亂碼問(wèn)題。漢字亂碼主要是由于各層使用的編碼、或在層間進(jìn)行數(shù)據(jù)傳輸時(shí)使用的編碼不一致造成的,釜底抽薪的解決辦法就是在一開(kāi)始就將各層的編碼都設(shè)置為一致的比如UTF-8或者GBK,對(duì)傳輸中引起問(wèn)題的,再使用iconv等函數(shù)來(lái)轉(zhuǎn)換。具體的做法是:
1.MySQL
-設(shè)置數(shù)據(jù)庫(kù)、表、字段的字符集為GBK
2.PHP
-連接數(shù)據(jù)庫(kù),進(jìn)行各種數(shù)據(jù)操作之前,先設(shè)置set names ‘gbk’
-在Php.ini文件中設(shè)置: default_charset = “gbk” ,使之在默認(rèn)生成的html文檔前加入字符集編碼
-header(“Content-Type:text/html; charset=gbk”) ,作用同上
3.HTML
-,告訴瀏覽器,本頁(yè)面使用的字符集是gbk的,請(qǐng)按照gbk編碼進(jìn)行解析
4.AJAX
-get方式提交數(shù)據(jù)時(shí)正常;POST方式時(shí),數(shù)據(jù)傳輸默認(rèn)使用UTF-8字符集
-所以PHP在接受post的提交后需要用iconv(‘utf-8’,’gbk’,$str)轉(zhuǎn)換一下
需要注意的是:PHP文件本身保存的格式也需要一致。在記事本等文本編輯器中,保存文件時(shí),可以選擇保存的編碼方式。
總結(jié)
以上是生活随笔為你收集整理的php ajax mysql 出错,MySql + PHP + Ajax的乱码问题的解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ST长生是退市还是重组?
- 下一篇: toad查看oracle的plsql包,