php讀取excel中文亂碼 excel_class…

來源:互聯網
上載者:User

     今天碰到了大問題,就是讀取excel的中文亂碼大問題。

     Excel_class.php是一款php匯入excel的工具,它可以方便從excel匯入資料到php,也可以方便用php把資料匯入到excel.但是今天很不給力。

    我搜集了很多資料就是沒找到,後來想到:百度使我們最好的老師。好了,現在就找老師去。

    果然,在百度上搜到了關於這個工具的處理亂碼的方法。

 

    第一種方法:修改excel_class.php類檔案,尋找$s = uc2html($exc->sst['data'][$ind]);替換 為 $s = iconv(‘utf-16le’,'utf-8′,$exc->sst['data'][$ind]),這樣編碼就是utf-8了.

如果還想把資料再匯入mysql,而你的mysql編碼是GB2312,那麼你就需要再把資料從utf-8轉到gb2312了,可以這樣:$s=iconv(“UTF-8″,”GB2312″,$s)。

    第二種方法:開啟excel_class.php,找到函數uc2html, 將函數中的代碼注釋掉,直接將參數返回,即改函數不做任何操作。
function uc2html($str) {
return $str;
}

接下來使用PHP中提供的函數mb_convert_encoding來將UTF-16LE轉換成UTF-8。

echo mb_convert_encoding($return[Sheet2][0][0], ‘UTF-8′, ‘UTF-16LE’);

這樣顯示就正常了。

   總結:在我的測試過程中,建議用第一種方法,第二種方法把數字變成亂碼了(不知道什麼原因)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.