首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >csv文件中除逗号外的分隔符

csv文件中除逗号外的分隔符
EN

Stack Overflow用户
提问于 2017-04-10 10:09:34
回答 1查看 1.6K关注 0票数 0

我将数据作为大容量上传( $handle =fopen)插入到表中($_FILES‘’file_clg‘,"r");

代码语言:javascript
复制
        fgetcsv($handle);

        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

        $collegename = trim(str_replace(array("’","'"),"'",$data[0]));

        $description = trim(str_replace(array("’","'"),"'",$data[1]));

        $sql1 = $db->selectquery("insert into $tbl(name,details)values('" .$collegename."','" .$description."')");

        }

        fclose($handle);

这里只提到两个字段:我的大容量上传csv中超过25列。

问题是csv分隔符是逗号(','),但在某些情况下,“details”字段内容包括逗号,在这种情况下,记录没有正确插入。

如何解决这个案子?

插入部分有问题,

学院名称:阿尔瓦工程技术学院(AIET)

并按以下格式保存在表格中:

阿尔瓦�工程与技术研究所

我试着用下面的代码:

代码语言:javascript
复制
          $collegename = htmlentities(iconv("cp1252", "utf-8", trim(str_replace(array("’","'"),"'",$data[0]))), ENT_IGNORE, "UTF-8");

但是它不起作用,我怎么能用单引号来解决这个问题呢?

我放置了:标题(“Content: text/html;charset=ISO-8859-1");

进入标题部分..。

EN

回答 1

Stack Overflow用户

发布于 2017-04-10 12:25:05

我需要看到一些示例才能自信地说出任何事情,但是对于引用带有逗号的值是有说明的,以保留值计数。https://stackoverflow.com/a/769675/2943403

或者,您可以创建一个新的fputcsv()代码块,它将生成一个分号(或其他不冲突的字符)分隔的csv文件。我没有提供这方面的实际片段。在这方面有许多可用的资源,包括:

然后,while循环可以使用; (或其他什么)作为分隔符。

为了安全地将值(其中可能有单引号)放置到查询中,请使用准备好的陈述

代码语言:javascript
复制
// I realize your query will be much larger than the sample...
// declare $collegename and $decription values
$stmt=$db->prepare("INSERT INTO `$tbl` (`name`,`details`) VALUES (?,?)");
$stmt->bind_param("ss", $collegename,$description);
if($stmt->execute()){
    echo "success";
}else{
    echo "Error: ",$db->error;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43320386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档