MYSQL的字段名轉(zhuǎn)義使用返引號`,不是單引號,注意上面代碼的下面部分:
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、金平ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的金平網(wǎng)站制作公司
WHERE '賬戶'='中文'; //查詢中文字報錯,數(shù)字字母都能正常查詢
【賬戶】是字段名,應(yīng)使用反引號:
`賬戶`
【中文】是常量,單雙引號都可以,但是要注意你現(xiàn)在的語句是在單引號里面,因此應(yīng)該轉(zhuǎn)義或者使用雙引號,這部分可以修改為:
WHERE 賬戶="中文"';
另外,如果只是查詢中文內(nèi)容才報錯,可能你粘貼代碼和原始代碼有區(qū)別,原始代碼沒有把字段名放在單引號里面,否則是查不到內(nèi)容的。查詢中文內(nèi)容報錯,一般是中文的編碼和網(wǎng)頁文件的編碼、以及數(shù)據(jù)庫的編碼不一致,你這來數(shù)據(jù)庫是UTF8,那么PHP腳本文件、瀏覽器網(wǎng)頁都必須使用UTF-8
php
向數(shù)據(jù)庫發(fā)送中文字符無法查詢?5
數(shù)據(jù)庫中有這個字段,用sql語句直接可以查,但是php發(fā)送查詢就查不了,數(shù)據(jù)表的格式是utf8_general_ciphp保存的utf-8
數(shù)據(jù)庫的編碼是 gbk 的,在查詢的時候把中文(utf-8)轉(zhuǎn)換成 gbk編碼就可以了
$nickname=iconv('utf-8','gbk//TRANSLIT',$nickname);
轉(zhuǎn)換后才執(zhí)行查詢
你的問題可能是數(shù)據(jù)庫連接時未指定字符集:$conn-query("set names utf8");
詳細如下:
將中文字符轉(zhuǎn)換一下,可能你的網(wǎng)頁編碼是ansi非utf-8的:
$w=iconv("gb2312","utf-8",$w);
不過我不確定這樣做你能否成功。關(guān)于字符有以下幾點你看下:
數(shù)據(jù)庫連接時: $conn-query("set names gbk");
數(shù)據(jù)庫的字符集:建議建立數(shù)據(jù)庫時就指定字符集,比如gbk或者utf-8,這樣你就沒必要為單獨的表或者字段指定字符集
網(wǎng)頁字符:META CONTENT="text/html; charset=gbk" HTTP-EQUIV="Content-Type" /
保持著三者使用的字符集一樣,基本能解決你的問題。
當然,在使用ajax時。js傳遞過來的是utf-8,如果你的php文件和數(shù)據(jù)庫使用的是中文字符集如gbk,gb2312,那么就需要對該值用iconv函數(shù)轉(zhuǎn)換下字符集,如:$w=iconv("utf-8","gb2312",$w);
總之,需要這幾塊的字符集保持一致。
網(wǎng)站標題:php數(shù)據(jù)庫查詢中文 php 數(shù)據(jù)庫查詢
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/article32/ddosjsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、App開發(fā)、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)