CSV导入中的奇怪字符

时间:2011-12-31 09:46:23

标签: php

我正在从.csv文件导入文本。导入文件时,其中有一些奇怪的字符,如“Õ”。这个角色应该是撇号。例如“它是”。知道如何将其转换为标准撇号吗?

我很确定他们的问题来自源.csv,但我需要能够转换这些字符。

3 个答案:

答案 0 :(得分:2)

听起来你遇到了“smart quotes”问题。我相信Chris Shiflettan exact solution to your problem

<?php
function convert_smart_quotes($string)
{
    $search = array(chr(145), chr(146), chr(147), chr(148), chr(151));
    $replace = array("'", "'", '"', '"', '-');
    return str_replace($search, $replace, $string);
}
?>

答案 1 :(得分:0)

尝试以下代码

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

答案 2 :(得分:0)

看起来像代码页问题。 http://www.justskins.com/forums/character-switching-problem-47590.html显示了CP1252和MacRoman的示例。尝试使用iconv?