我创建了一个PHP脚本,允许我从csv文件上传大量数据文件。在导入时,我想将这样的特殊字符替换为字母c。下面是我的代码:PHP:从CSV导入数据到数据库时删除特殊字符
$sql ="INSERT INTO bill_of_materials(allotment_code, category_name, activity, quantity, end_unit_quantity, unit, description,
unit_cost, regular_labor_cost, end_unit_labor_cost, type, batch) VALUES";
while (($line = fgets($handle)) !== false) {
$sql .= "('".implode("', '", explode(";", sanitize($line)))."'),";
$counter++;
}
$sql = substr($sql, 0, strlen($sql) - 1);
if (mysqli_query($new_conn, $sql) === TRUE) {
echo 1;
//database file name
$new_database_file = $new_database.'.sql';
if(file_exists('backup/'.$new_database_file)) {
unlink('backup/'.$new_database_file);
// backup main database
$command = "C:/xampp/mysql/bin/mysqldump --host=$host --user=$user --password=$pass $database_name > backup/$new_database_file";
system($command);
} else {
// backup main database
$command = "C:/xampp/mysql/bin/mysqldump --host=$host --user=$user --password=$pass $database_name > backup/$new_database_file";
system($command);
}
} else {
echo $sql;
}
此外,我从CSV数据即W2-A1 2/F前立面 - B和我想看到像W2的输出-A1 2/F正面 - B。我怎样才能做到这一点?
我猜你正在寻找'str_replace()函数':例如 - 源文件),你可能惯于使用二进制翻译字符(首先你必须通过
chr(ord($line[$position]))
)找出例如,通过为之倾倒损坏的二进制序列? [链接到文档](http://php.net/manual/en/function.str-replace.php)。希望这可以帮助! –你应该寻找'REGEX' – Twinfriends
看起来是一个编码问题,确保你连接到mysql被设置为UTF-8 – exussum