PHP导入CSV文件获取奇怪字符

PHP导入CSV文件获取奇怪字符,php,csv,Php,Csv,我正在导入csv文件并将其存储在数据库中 问题是我在尝试使用var\u dump时遇到了一些奇怪的字符 以下是这些角色的图像: 在CSV中,它看起来不像那样,它看起来像这样13.05.2014 17 所以很明显有什么不对劲 所以我的问题是,我如何才能删除所有这些奇怪的角色 非常感谢您的帮助 谢谢!:) 必须首先检查字符集,然后转换它。你可以用 mb_检测_编码($out); 如果您不知道字符集。然而,在一般情况下,它总是其中之一:UTF-8、ASCII、ISO-8859-1、ISO-8859-

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

问题是我在尝试使用
var\u dump
时遇到了一些奇怪的字符

以下是这些角色的图像:

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

所以很明显有什么不对劲

所以我的问题是,我如何才能删除所有这些奇怪的角色

非常感谢您的帮助


谢谢!:)

必须首先检查字符集,然后转换它。你可以用 mb_检测_编码($out); 如果您不知道字符集。然而,在一般情况下,它总是其中之一:UTF-8、ASCII、ISO-8859-1、ISO-8859-15 在大多数情况下,结果应为UTF-8。您应该根据需要调整此PHP代码。 PHP模块mb_字符串是必需的。否则,必须用另一个转换函数替换它

$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);

看起来像是字符编码中的编码问题,例如使用UTF-8。您的源文件是如何编码的?你的浏览器是如何解码字符的?我也想到了一个,因为我从Norweigan客户端获得了这个csv,但我不确定这是否相关。这可能是UTF-8编码问题。UTF8对一个符号使用2个字节。Var dump结果为每个字母显示一个额外的符号。因此,将UTF8字符串转换为正确的字符串。或者将网站上的编码更改为utf-8。