MySQL加载数据文件(CSV):替换/删除垂直标签

时间:2019-03-05 13:48:42

标签: mysql sql excel notepad

当使用LOAD DATA INFILE加载具有CHARACTER SET latin1(表也编码为latin1)的csv文件时,所有垂直选项卡均显示为“□”。 替换'u000b'或'\ v'均无效。

LOAD DATA INFILE 'database.csv'
INTO table taxa
CHARACTER SET latin1
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'
(columns1...@column6...column19)
SET @column6 = REPLACE(@column6, '\u000b', '\t')

当我将表转换为UTF8并使用指定的'UTF8'导入时,在第一个字段\ v为“无效的utf8字符串:...” 时出现错误来。

Notepad ++向我显示了一个'VT',所以我知道它是带有转义字符'\ v'的垂直制表符。到目前为止,用Excel(其显示为“□”的位置)或NotePad替换仍无法正常进行。

将其打印到我的WebApp的前端显示:

'u000b' for \v` 
'u001d' for a Group Seperator`

问题: 如何删除这些小的f ***-甚至可以在导入它们之前完成,但是我也无法解决。

1 个答案:

答案 0 :(得分:0)

比我以前想象的要容易:

NotePad ++也让您搜索Unicode字符。 我使用\u000b而不是\v来搜索和替换字符。与GS符号\u001d

相同

如果您不想使用Unicode符号,请确保将搜索模式设置为“扩展”