可以恢復(fù)!先使用MySQL命令:
站在用戶的角度思考問題,與客戶深入溝通,找到雙清網(wǎng)站設(shè)計與雙清網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋雙清地區(qū)。
set names utf8
設(shè)置一下字符集,然后導(dǎo)入MySQL文件!
關(guān)于亂碼的原因不好一下說出,給出以下辦法,嘗試排除法來解決一下看看:
解決MySql數(shù)據(jù)亂碼:
1 寫過濾器設(shè)置編碼格式(格式和JSP頁面的編碼一樣),或則在請求里面寫request.setCharacterEncoding("編碼方式");
2 如果是查詢出數(shù)據(jù)亂碼,在鏈接的URL上加上編碼格式(你這里加了,沒問題);
3 修改my.ini文件里面的 default-character-set= 您要的編碼格式 (一共有兩處,你查找一下 改為一樣的編碼格式)
4 如果是寫入到數(shù)據(jù)庫之后是亂碼(前提是已經(jīng)寫了過濾器處理編碼),修改my.ini文件里面查找sql-mode 設(shè)置 sql-mode = "NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
如果出現(xiàn)亂碼情況 就試試吧!
AUTO_INCREMENT=11 這個意思就是ID或是指定的列從11開始自增...比如你添加第一條記錄,則變成12,以此類推......
導(dǎo)出的時候編碼格式設(shè)置下
mysqldump -uroot --default-character-set=utf8 -p test123 test123.sql
解決方案:
在代碼里,在執(zhí)行select語句之前,加上
mysql_query("set
names
'utf8'");
注意,mysql數(shù)據(jù)庫也要設(shè)置utf8,瀏覽器顯示和文件類型都設(shè)置為utf-8
設(shè)置utf8原因:
UTF-8(8-bit
Unicode
Transformation
Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼。由Ken
Thompson于1992年創(chuàng)建。現(xiàn)在已經(jīng)標準化為RFC
3629。UTF-8用1到6個字節(jié)編碼UNICODE字符。用在網(wǎng)頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。
出現(xiàn)亂碼是因為mysql設(shè)置編碼GB2312 后,在navicat里連接要要選擇mysql默認字符集,創(chuàng)建數(shù)據(jù)庫時候選默認字符集,創(chuàng)建表的varchar字段(或其他字符字段)都不用選擇編碼,系統(tǒng)默認gbk編碼,就不會出現(xiàn)亂碼了。
如果已經(jīng)創(chuàng)建好了表亂碼就要把UTF8、gbk、gbk2312編碼都調(diào)整過來才可以,特別是要大概設(shè)計表,把有關(guān)字符的字段每個都設(shè)置改為gbk即可。