gpt4 book ai didi

mysql - 如何绕过mysql中无效的utf8字符串

转载 作者:行者123 更新时间:2023-11-29 01:20:12 25 4
gpt4 key购买 nike

我有一个包含阿拉伯语文本数据的大型文本文件。当我尝试将它加载到 MySQL 表中时,我收到错误提示 Error code 1300: invalid utf8 character string。到目前为止,这是我尝试过的:

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 UTF8DEFAULT COLLATE utf8_general_ci 创建的。文本文件采用 utf-8 编码。

我不想要包含无效 utf8 字符的记录。那么我如何在忽略包含此类无效字符的记录的情况下加载数据呢?

提前致谢!

最佳答案

拥有顽皮性格的HEX会有帮助。

阅读所有文本然后处理任何不良字符的可能方法:

  1. 读入 VARBINARYBLOB 类型的列。

  2. 遍历行,尝试复制到 VARCHARTEXT 列。

另一个计划是使用 utf8mb4 而不是 utf8。坏字符可能是在 utf8mb4 中有效的表情符号或汉字,但在 utf8 中无效。

忽略错误

可能让您忽略错误:

SET @save := @@sql_mode;
LOAD DATA ...;
SET @@sql_mode := @save;

关于mysql - 如何绕过mysql中无效的utf8字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40701422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com