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*** - 甚至可以在导入它们之前完成,但我也做不到。
当使用 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*** - 甚至可以在导入它们之前完成,但我也做不到。