使用Cakephp上传文件时如何将编码文件从ANSI更改为UTF-8?

时间:2014-07-02 22:12:22

标签: php cakephp encoding

我有一个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);
    }

1 个答案:

答案 0 :(得分:1)

试试这个:

$encodedOutput = mb_convert_encoding($file, "Windows-1252", "UTF-8");

参考此answer

  

ANSI编码是一个稍微通用的术语,用于指代系统上的标准代码页,通常是Windows。它被更恰当地称为Windows-1252(至少在西方/美国系统上,它可以代表其他系统上的某些其他Windows代码页)。