PHP上传中的CSV编码问题
我收到一个看起来相当简单的csv文件 我在上面运行它,它告诉我它的ASCII码PHP上传中的CSV编码问题,php,csv,Php,Csv,我收到一个看起来相当简单的csv文件 我在上面运行它,它告诉我它的ASCII码 echo mb_detect_encoding($fhandle , "auto"); 但是,当我运行导入代码时:它不能正常工作 $sql= "LOAD DATA LOCAL INFILE '". $fhandle ."' INTO TABLE sys6_impBet FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMIN
echo mb_detect_encoding($fhandle , "auto");
但是,当我运行导入代码时:它不能正常工作
$sql= "LOAD DATA LOCAL INFILE '". $fhandle ."' INTO TABLE sys6_impBet FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES
( AccNo_1,
MtgDate,
Code,
Venue,
Location,
Pool,
EventNo,
Gross_Sales,
Refunds,
Turnover,
Dividends,
Profit_Loss);" ;
它带来了正确数量的记录,但在每个字段/记录中都设置了NULL或0。
因此,它在看到记录时读取文件,但不会获取值
以下是一个小样本:
账户1、MTG日期、代码、地点、地点、池、事件号、总销售额、退款、营业额、股息、损益
66096159,12/07/2015,加洛普斯,佩诺拉,南非,特里布尔,0279.00,0.00279.00,1955.70,1676.70
66096159,12/07/2015,加洛普斯,瓦尔南波尔,维多利亚州,高音,0,1048.00,0.00,1048.00,2672.80,1624.80
66096718,12/07/2015,加洛普斯,华盛顿州卡尔古利,温,2783.00,0.00783.00,1174.50391.50
66096718,12/07/2015,加洛普斯,佩诺拉,南非,温,6204.00,0.00204.00,1143.00939.00
66096718,12/07/2015,加洛普斯,香港沙田,温,4197.00,0.00197.00,2064.00,1867.00
这是一个编码问题
如果我在记事本中打开文件并另存为编码UTF-8并将其保存下来。然后,上面的代码工作,所有的都被导入
但我不能每天对每个文件都这么做
我能试试看吗
我试过这个,但没什么不同:
$fhandle = mb_convert_encoding($fhandle, "UTF-8", "ASCII");
首先检查php使用的内部编码 回波mb_内部编码 然后将其设置为必需的 mb_内部编码UTF-8