1、php/html文件編碼與數(shù)據(jù)庫編碼不統(tǒng)一
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了巢湖免費建站歡迎大家使用!
2、連接數(shù)據(jù)庫時沒有設置連接編碼,“set names 。。。”
3、數(shù)據(jù)庫編碼設置有問題
4、數(shù)據(jù)庫字段編碼設置有問題
5、php程序里面沒有對相關的字段進行轉碼
可能需要修改數(shù)據(jù)庫的配置
一般情況下我們在設計數(shù)據(jù)庫的時候都會事先確定好要用的字符集,但當我們要使用以前的數(shù)據(jù)的時候,可能會遇到字符集不同的問題,字符集的修改不能通過alert database charest set *來直接修改,這樣只是影響以后的數(shù)據(jù),對已有的數(shù)據(jù)沒有用,那怎么辦那
我們模擬講latin1字符集的數(shù)據(jù)庫修改成GBK的字符集,
1,導出表結構:
mysqldump -uroot -p --default -character-set = gbk -d databasenamecreatetab.sql
-default-character-set=gbk 表示設置上面字符集連接 -d表示只導出表結構
2,手工修改createtab.sql中表結構定義中的字符集為新的字符集。
3,確保記錄不在更新,導出所有記錄
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-chareacter-set=latina
databasenamedate.sql
--quick 該選項用于轉存儲大的表,--extended-insert 可以使轉存文件更小,重載的時候加快速度,
--no-create-info不寫重新創(chuàng)建每個轉存儲表的create table 語句,--default-character-set=latin1按照原有的字符集導出所有數(shù)據(jù),這樣導出的文件中,所有的中文都是可見的,保證不會出項亂碼,
4,打開data.sql 將set names lation1修改為set names gbk;
5,使用新的字符集創(chuàng)建數(shù)據(jù)庫,
create database databasename default charset gbk;
6,創(chuàng)建表,執(zhí)行createtab.sql
mysql -uroot -p databasename createtab.sql
7,導入數(shù)據(jù),執(zhí)行data.sql,
mysql -uroot -p databasename data.sql
參考上面的方法試驗下!~
沒有移動指針
顯示的代碼應該這樣寫
?php
while($row=mysql_fetch_array($s))
{
echo "trtd $row[0] /td";
echo "td $row[1] /td/tr";
}
?
你這說白了,其實就是前后臺的意思吧,你A用戶進入的A1就是后臺界面,B用戶進的B1就是前臺用戶操作界面。
如果B用戶不操作,你A用戶查詢就會顯示A2界面,如果B用戶操作,那么A用戶刷新就會顯示B2界面。
這個當然要用session,首先你要注冊兩個session變量,
一個是session A1,一個是session B1,這樣兩個session就可以操作兩個用戶。
當A1登錄系統(tǒng),檢查B1的session是否存在,如果B1的session存在,那么就A2頁面自動載入B1的頁面數(shù)據(jù),至于怎么實時操作,這個不屬于當前問題的范疇。
如果B1session不存在即登出,或者未登錄,那么檢查A1的session,顯示A2頁面原有的內容即可。