最近在給公司做一個小工具,將excel表格按照一定的格式轉為txt文本格式,要求轉后的txt文本是GBK編碼,但是總會有幾個excel表格無法正常轉碼,最后查閱相關資料,得到解決方案
先說明下,在php里提供了兩種方案可以實現轉碼
1.使用iconv函數,用法
string iconv ( string in_charset, string out_charset, string str )
第二個參數,除了可以指定要轉化到的編碼以外,還可以增加兩個后綴://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字符變成一個或多個近似的字符,//IGNORE 會忽略掉不能轉化的字符,如果將某字符串從UTF-8編碼轉為GBK,而這個字符串中混有不是UTF-8編碼的字符時,就會報錯,建議加上//IGNORE
2.使用mb_convert_encoding,用法
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
需要開啟mbstring 擴展庫,在 php.ini里將; extension=php_mbstring.dll 前面的 ; 去掉