2016-10-02 71 views
0

我使用Excel文件的自動VB腳本創建CSV文件。該文件編碼爲latin_1。要將這個文件正確地導入到我的MySQL數據庫中,我需要將文件的編碼轉換爲UTF8在導入MySQL之前更改.csv文件的編碼

它工作,如果我手動將文件保存到UTF8,但我想用PHP自動。

方向是XLS - > CSV - > MYSql。一切都在Windows上運行。

+0

你最初是否有xls或csv? –

回答

1

這會將任何文本文件的編碼從任何編碼轉換爲UTF-8。請注意,它不適用於XLS文件;你必須先將其轉換爲CSV:

$pathToFile = '...'; 
$original = file_get_contents($pathToFile); 
$originalEncoding = mb_detect_encoding($original); 
$converted = mb_convert_encoding($original, 'UTF-8', $originalEncoding); 
file_put_contents($pathToFile, $converted); 

如果您不想覆蓋原始文件,指定一個不同的第一個參數爲file_put_contents()

+1

有一個知道[PHPExcel](https://github.com/PHPOffice/PHPExcel)的開源庫,可以解析XLS文件,而無需手動轉換爲CSV。 – Terry