估計你數據庫中的那個中文用戶名讀出來就是亂碼,所以比對起來就是不一樣的.要設置數據庫默認字符集.
成都創新互聯作為成都網站建設公司,專注重慶網站建設、網站設計,有關成都企業網站建設方案、改版、費用等問題,行業涉及成都混凝土攪拌站等多個領域,已為上千家企業服務,得到了客戶的尊重與認可。
你把你的這兩行代碼,順序返過來
mysql_query($sql,$conn) or die(mysql_error());
mysql_query("set names 'GBK'");
改為
mysql_query("set names 'GBK'");
mysql_query($sql,$conn) or die(mysql_error());
一般來說,亂碼問題其實也就是編碼不一致導致的。因此,要解決PHP中文亂碼問題,解決步驟有如下幾步:
1. 頁面聲明的編碼 與 數據庫內部編碼 一致
比如: 你的網頁里設置 charset = gb2312,然而,你的數據庫使用utf-8,那么,如果不進行iconv轉換的話,顯示出來可能就有問題。
2. 頁面文件的編碼 與 頁面聲明的編碼 一致
比如,你的網頁文件為 test.php,該文件用 UTF-8B 格式保存,而如果你的網頁里設置 charset = gb2312,那么可能顯示也不正常。
從你的問題描述來看,“PHP中非數據庫導出的部分 其中文顯示正常 ”,據此可以確定頁面文件編碼與頁面聲明編碼一致,那么,問題原因就在于:
頁面聲明的編碼 與 數據庫內部編碼 不一致造成的。
你可以查看下,你的 數據庫編碼格式 與 網頁定義的編碼。
你這不是可以正常輸出嗎,
你這只是亂碼吧,
你可以看一下這篇文章網頁鏈接
這種情我遇到過,以前也是這樣的;后臺數據庫的編碼為GB2312,但前臺顯示和后臺顯都采用了UTF8,所以你在后臺看到數據是亂碼,但通過你的程序顯示是正常的。
解決方案,
1.把你的表內容,寫只程序導出為TXT文字,
2.住還是UTF導出后保存在文本格式,
3.注意分隔符等,
4.接下來新建一個數據庫為UTF8的編碼,
5.用Navicat Premium軟件導進數據進數據庫,保持表名,字段結構等都不變。
6.接正就直接連接新的數據庫顯示就為正常的UTF8數據了,直接用軟件打開也不會出現亂碼,
雖然方法有點復雜,但這是解閃的根本方法!其實第二種:利用PHP的轉碼直接轉碼,這種方法危險性較高也不全面,請謹慎考慮!
這個主要是編碼問題導致數據變成亂碼,這個可以忽略,最主要的是讀取數據的時候可以正常顯示就可以了,如果非要讓數據庫正常顯示的話應該看看PHP頁面的編碼是不是和數據庫的一直!
不行的話加群:58903596,驗證懶羊羊,會有人幫你解決的!
新聞名稱:php連接數據庫時中文 php連接數據庫代碼
當前路徑:http://vcdvsql.cn/article6/dosdeig.html
成都網站建設公司_創新互聯,為您提供商城網站、品牌網站設計、外貿建站、手機網站建設、定制開發、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯