Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL:“;“加载数据本地填充”;以';结尾的字段失败μ';_Php_Mysql_Csv_Load Data Infile - Fatal编程技术网

Php MySQL:“;“加载数据本地填充”;以';结尾的字段失败μ';

Php MySQL:“;“加载数据本地填充”;以';结尾的字段失败μ';,php,mysql,csv,load-data-infile,Php,Mysql,Csv,Load Data Infile,我用Java导出一个UTF-8格式的CSV文件。字段终止的字符是微符号。结果MySQL将整个csv行导入到第一个表字段中 $sql = "LOAD DATA LOCAL INFILE 'C:/file.mysql'" . " INTO TABLE `test`" . " CHARACTER SET 'utf8'" . " FIELDS TERMINATED BY 'μ'" . " LINES TERMINATED BY '\n'"; 数据库编码为

我用Java导出一个UTF-8格式的CSV文件。字段终止的字符是微符号。结果MySQL将整个csv行导入到第一个表字段中

$sql = "LOAD DATA LOCAL INFILE 'C:/file.mysql'"
      . " INTO TABLE `test`"
      . " CHARACTER SET 'utf8'"
      . " FIELDS TERMINATED BY 'μ'"
      . " LINES TERMINATED BY '\n'";
数据库编码为utf8。我尝试了
mysql\u查询(“设置名称'utf8'”$con);
mysql_查询(“设置字符集'utf8'”$con);
mysql\u set\u字符集('utf8',$con)

在加载数据查询之前

我还尝试将“|”设置为字段终止符。这很有效


//编辑:它也可以与SQL Server(mssql)配合使用。

听起来很奇怪。。。您提到的这两个
μ
字符可能实际上是两个看起来相同的不同utf符号吗?这就解释了这个行为……您是否尝试过使用诸如notepad++之类的utf8编辑器打开csv文件,并将分隔符从csv文件复制到您的变量中?您还可以尝试编写一些脚本来检查
μ
是否真的是分隔符,例如使用
fgetcsv()
explode()
。您还应该检查mysql数据库连接是否设置为
utf8
@arkascha如何确保使用正确的符号@piotrekkr explode()工作正常。我试着将所有地方的编码都切换到latin1/cp1252,其中只有一个
μ
。同样的问题。检查模糊utf序列的最佳测试是使用hexeditor。打开文件并检查问题位置上的数字代码。使用“head-2 | od-x”比查找十六进制编辑器更容易。行上的最后一个字符是否与mu字符的UTF-8码点的十六进制值匹配?