我正在从.csv文件导入文本。导入文件时,其中有一些奇怪的字符,如“Õ”。这个角色应该是撇号。例如“它是”。知道如何将其转换为标准撇号吗?
我很确定他们的问题来自源.csv,但我需要能够转换这些字符。
答案 0 :(得分:2)
听起来你遇到了“smart quotes”问题。我相信Chris Shiflett有an 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?