我有一个ANSI编码的CSV文件,当我将文件上传到服务器时,我需要将编码更改为UTF-8。
我正在使用cakephp 2.x我需要这个来正确读取我的csv文件行。
function import() {
if ($this->request->is('post') || $this->request->is('put')) {
$file = $this->request->data['Document']['submittedfile'];
// NOW CHANGE ENCODING - but how ?
// $this->pdfadd1->save($this->request->data);$filename = TMP . 'uploads' . DS . 'Address' . DS . $filename;
move_uploaded_file($this->data['Document']['submittedfile']['tmp_name'], TMP . 'uploads' . DS . 'Good' . DS . "towary.csv");
$messages = $this->Good->import("towary.csv");
$this->set('messages', $messages);
}
答案 0 :(得分:1)
试试这个:
$encodedOutput = mb_convert_encoding($file, "Windows-1252", "UTF-8");
参考此answer:
ANSI编码是一个稍微通用的术语,用于指代系统上的标准代码页,通常是Windows。它被更恰当地称为Windows-1252(至少在西方/美国系统上,它可以代表其他系统上的某些其他Windows代码页)。