今天一個(gè)客戶提供的excel文件里面的數(shù)據(jù)導(dǎo)入到mysql數(shù)據(jù)庫(kù),但是導(dǎo)入多次和頁(yè)面打印都是亂碼問題。現(xiàn)在我給大家解析下如何去解決這個(gè)問題。首先大家去下載導(dǎo)入excl的類,下載地址和使用說(shuō)明本站前面都有解釋。點(diǎn)擊PHP Excl導(dǎo)入到MySql數(shù)據(jù)庫(kù)代碼 下載。
網(wǎng)上很多介紹都是要么gbk轉(zhuǎn)utf8或者utf8轉(zhuǎn)gbk,但是大家想過(guò)沒,這個(gè)轉(zhuǎn)碼只是數(shù)據(jù)庫(kù)導(dǎo)入的時(shí)候轉(zhuǎn)碼。但是excl在輸出的時(shí)候編碼就已經(jīng)和網(wǎng)頁(yè)編碼不一致了,所以在怎么轉(zhuǎn)化都是沒用的。這編文章講述的是excl中文轉(zhuǎn)碼,但是如果是英文、數(shù)字和空格輸出就成了亂碼了。本編文章講的是excl 不管是什么文字打印和輸入數(shù)據(jù)庫(kù)都是正確的。
$data=new Spreadsheet_Excel_Reader;
$data->setOutputEncoding('CP936'); //這個(gè)就是excl輸出轉(zhuǎn)碼
然后輸入數(shù)據(jù)庫(kù)的時(shí)候通過(guò)iconv轉(zhuǎn)碼 例如格式:iconv('gbk', 'utf-8',$data->sheets[0]['cells'][$i][3]),這樣就可以了。
新聞熱點(diǎn)
疑難解答
圖片精選