PHP:上传csv并将特殊字符转换为HTML

时间:2013-07-01 19:53:14

标签: php character-encoding

if(!empty($_FILES['csv'])){
        $this->autoRender = false;
        $text = file_get_contents($_FILES['csv']['tmp_name']);
        header('Content-type: application/CSV');
        header('Content-Disposition: attachment;filename=' . $_FILES['csv']['name']);
        echo $text;
        return;
}

我上传文件然后再将它再次吐出来没有问题,如上所示...但我需要将特殊字符(例如重音字符和em-dashes)转换为等效字符或HTML版本。我怎么能这样做?

Windows 7,Apache 2.2.21,PHP 5.4.3,CakePHP 1.3

2 个答案:

答案 0 :(得分:1)

查看函数htmlentities()

据我所知,您可能只是将echo输出更改为

echo htmlentities($text);

不要忘记查看可用的标志in the manual,它可以根据您的需要进行微调。

答案 1 :(得分:0)

您可以使用PHP的htmlentities功能:

$text = htmlentities(file_get_contents($_FILES['csv']['tmp_name']));

要解决此问题,请在任何时候使用html_entity_decode