PHP导入CSV文件变得奇怪的字符

时间:2014-08-29 08:55:47

标签: php csv

我正在导入csv文件并将其存储在我的数据库中。

问题是我在尝试使用var_dump时遇到了一些奇怪的字符。

以下是这些角色的图片:

enter image description here

在CSV中,它看起来不像那样,它看起来像13.05.2014 17

显然有些不对劲。

所以我的问题是如何删除所有这些奇怪的字符?

非常感谢您的帮助!

谢谢! :)

1 个答案:

答案 0 :(得分:1)

您必须首先检查您的字符集然后进行转换。您可以使用     mb_detect_encoding($出); 如果你不知道字符集。但是在一般情况下,它总是一个:UTF-8,ASCII,ISO-8859-1,ISO-8859-15 在大多数情况下,结果应该是UTF-8。您应该根据需要调整此PHP代码。 PHP模块mb_string是必需的。否则,您必须用另一个转换函数替换它。

$out = 'some strange character set @@@@@@@@@';
if (
    function_exists('mb_detect_encoding') &&
    is_callable('mb_detect_encoding')
) {
    $charset = mb_detect_encoding($out, 'UTF-8,ASCII,ISO-8859-1,ISO-8859-15', TRUE);
}

if (
    $charset != '' &&
    $charset != 'UTF-8'
) {
    $out =
        mb_convert_encoding(
            $out,
            'UTF-8',
            $charset
        );
}

var_dump($out);