php - SQL LOAD DATA INFILE 的编码问题?或者不同

标签 php mysql sql encoding mamp

我有一个简单的查询

LOAD DATA LOCAL INFILE '$file'
INTO TABLE `test` 
FIELDS TERMINATED BY ';'
IGNORE 1 LINES
(Province, Locality, Latitude, Longitude)

问题是,我有两个 .txt 文件,每个文件的内容几乎相同,但来源不同,因此使用 file1 一切正常,但使用 file2 我遇到问题。首先,输出类似于

�K�a�m�p�o�t�

数据库结构:

id int NOT NULL AUTO_INCREMENT,
Province varchar(255),
Locality varchar(255),
Latitude varchar(12),
Longitude varchar(12),
PRIMARY KEY (id)

我的文件: file1 file2

是编码问题吗?

最佳答案

那应该是贡布??

请提供源文件的十六进制。听起来你有 UTF-16,而不是 UTF-8。也许它来自微软的某些产品?

所以,这可能是解决方案:

LOAD DATA ... CHARACTER SET ucs2 ...

关于php - SQL LOAD DATA INFILE 的编码问题?或者不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42669972/

相关文章:

php - 我怎么知道哪个订单是paypal付款的?

php - 无法将数据保存到数据库

php - laravel eloquent 删除以零结尾的整数的最后一个零

SQL/DB2 - 同时检索值和更新/增量

mysql - 2 内部连接到其他表上的相同数据

sql - 如何在内容类型中最好地集成现有数据库数据

javascript - 当用户使用 jquery 单击添加更多 anchor 标记时更改选择时获取 Null 值?

php - 编程中如何调用 "special characters"的字符串自定义处理?

php - sql查询每次都失败

mysql - 如何从 MySQL 数据库中删除 £ 符号