Php SQL加载文件用零/空值填充表
所以,我在用PHP和Wordpress将我的CSV加载到SQL数据库时遇到了一个问题。两者都在本地atm上运行 这是我加载CSV文件的代码。它首先通过html表单将其上传到某个临时文件夹(数据),然后尝试使用Php SQL加载文件用零/空值填充表,php,sql,wordpress,mariadb,Php,Sql,Wordpress,Mariadb,所以,我在用PHP和Wordpress将我的CSV加载到SQL数据库时遇到了一个问题。两者都在本地atm上运行 这是我加载CSV文件的代码。它首先通过html表单将其上传到某个临时文件夹(数据),然后尝试使用LOAD data将内容复制到表中(wp_data) 我做错了什么?我是PHP新手,在这一点上陷入了困境 :( Thx.通过将查询中的编码设置为字符集UTF8来修复它,如下所示: LOAD DATA INFILE '$target_file' INTO TABLE wp_data CHAR
LOAD data
将内容复制到表中(wp_data
)
我做错了什么?我是PHP新手,在这一点上陷入了困境
:(
Thx.通过将查询中的编码设置为
字符集UTF8
来修复它,如下所示:
LOAD DATA INFILE '$target_file'
INTO TABLE wp_data
CHARACTER SET UTF8
FIELDS TERMINATED BY ';'
IGNORE 1 ROWS;
显示表格结构?
show CREATE table wp_data
the question with the information?并在此处编写文件编码……看起来您有一个UCS-2编码的文件,所有字符都是2字节的,没有正确处理。PHP有一个函数,如果您使用file_get_co读取上传的文件,可以使用该函数entents()
notepad++或任何像样的编辑器都应该能够告诉您编码方式。否则,请询问文件源(该文件是如何创建的?由谁创建的?)。同时添加到@LarsStegelitz comment中。。PHP MySQL的客户端默认使用latin1
charset。。例如,您可能还需要使用mysqli\u set\u charset()
将其设置为正确的编码
CREATE TABLE `wp_data` (
`Unix_time` int(11) NOT NULL,
`Message` text NOT NULL,
`Time` float NOT NULL,
`DF` int(11) NOT NULL,
`Type_code/BDS_number` int(11) NOT NULL,
`Latitude` double NOT NULL,
`Longitude` double NOT NULL,
`Altitude` int(11) NOT NULL,
`Ground_speed` double NOT NULL,
`Baro_diff` int(11) NOT NULL,
`Heading` int(11) NOT NULL,
`TAS` int(11) NOT NULL,
`Mach` float NOT NULL,
`FOM_SOURCE` varchar(40) DEFAULT NULL,
`Wind_speed` varchar(40) DEFAULT NULL,
`Wind_direction` varchar(40) DEFAULT NULL,
`Temperture` text,
`Pressure` varchar(40) DEFAULT NULL,
`Turbulence` varchar(40) DEFAULT NULL,
`Humidity` varchar(40) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
LOAD DATA INFILE '$target_file'
INTO TABLE wp_data
CHARACTER SET UTF8
FIELDS TERMINATED BY ';'
IGNORE 1 ROWS;