MySQL 加载数据文件 (CSV):replace/remove 垂直制表符

MySQL Load Data Infile (CSV) : replace/remove vertical tabs

当使用 LOAD DATA INFILE 加载带有 CHARACTER SET latin1(table 也编码为 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')

当我将 table 转换为 UTF8 并使用指定的 'UTF8' 导入它时,我收到一条错误消息,在第一行中显示 "Invalid utf8 character string:..."出现 \v 的字段。

Notepad++ 向我显示了一个 'VT',所以我知道它是一个带有转义符 '\v' 的垂直制表符。将其替换为 Excel(显示为“□”的地方)或记事本目前无法使用。

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

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

问题: 如何删除这些小 f*** - 甚至可以在导入它们之前完成,但我也做不到。

比我想象的要容易得多:

NotePad++ 让您也可以搜索 unicode 字符。 我使用 \u000b to search and replace the character. Same for the GS symbol \u001d

而不是 \v

如果您不想使用 unicode 符号,请务必将 搜索模式设置为 'extended'