有关AI知识库的这里的网页URL导入功能,我尝试了很多次不同的配置经常失败:
失败报错信息如下:
文档 processing failed: Processing exception: {“code”: 8000038, “reason”: “SQL execution error, error message: (1366, “Incorrect string value: ‘\\xF0\\x9F\\xA4\\x96 \\xE4…’ for column ‘content’ at row 1”)”}
数据库编码问题,知识库会将页面中的文字写到数据库,如果数据库编码不支持就会报错,看看你数据库是否是自定义了数据库元素,数据库编码是否支持中文,一般编码用utf8
也就是和知识库绑定的向量数据库有关是吗?
我这边使用的向量数据库使用的是本地存储的方式:
可以让本地存储也支持utf-8吗?
不是,你看下你们是不是自定义了数据库元素,比如加了mysql数据库
我在这里找到了这个数据库:
远程连接它:
我用sql语句测试结果来说,它应该是支持utf-8的:
SHOW VARIABLES LIKE ‘character_set_%’
Variable_name |Value |
------------------------±-------------------------+
character_set_client |utf8mb4 |
character_set_connection|utf8mb4 |
character_set_database |utf8 |
character_set_filesystem|binary |
character_set_results | |
character_set_server |utf8mb4 |
character_set_system |utf8 |
character_sets_dir |/usr/share/mysql/charsets/|
8 row(s) fetched.
> SHOW VARIABLES LIKE ‘collation_%’
Variable_name |Value |
--------------------±-----------------+
collation_connection|utf8mb4_general_ci|
collation_database |utf8_general_ci |
collation_server |utf8mb4_general_ci|
3 row(s) fetched.
原因: 你的数据库/表/列使用的是 utf8 字符集,它只支持最多 3 字节的字符,无法存储 emoji 等 4 字节字符。问题在这里:
character_set_database |utf8 |
collation_database |utf8_general_ci |
数据库级别的字符集是 utf8,不是 utf8mb4。虽然服务器和连接用的是 utf8mb4,但你的数据库本身用的是 utf8。
修改字符集,操作前先备份
ALTER DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
return0
10
动数据库的话不太方便
我能调整知识库所使用的数据库吗,我想另外弄一个支持这种编码的数据库来做