我有一个包含阿拉伯语文本数据的大型文本文件。当我尝试将它加载到MySQL表中时,出现Error code 1300: invalid utf8 character string
错误。这是我到目前为止已经试过:如何绕过mysql中无效的utf8字符串
LOAD DATA INFILE '/var/lib/mysql-files/text_file.txt'
IGNORE INTO TABLE tblTest
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n';
我试图忽略这个错误,但它不工作。我试过LOCAL INFILE
,但它也没有工作。我的数据库是使用DEFAULT CHAR SET UTF8
和DEFAULT COLLATE utf8_general_ci
创建的。该文本文件编码为utf-8
。
我不想要包含无效utf8字符的记录。那么我怎样才能加载数据而忽略包含这些无效字符的记录呢?
提前致谢!
在Python中,我捕获任何异常并决定在发生此类异常时执行的操作,例如, 'ValueError:continue'等等。但我不确定这种技术在MySQL中是否可用。 – Mohammed
'更新:'我必须使用Python'chars = {c for c in textfile}'来检查文本文件中可用的所有字符。我发现了一些使用'regex'清理过的奇怪字符。之后,'MySQL load statement'可以很好的处理'utf-8'和'text'作为文本列的类型。非常感谢'Rick James'的帮助。我正在接受答复。 – Mohammed