kalcaddle / kodbox

kodbox is a file manager for web. It is a newly designed product based on kodexplorer. It is also a web code editor, which allows you to develop websites directly within the web browser.You can run kodbox either online or locally,on Linux, Windows or Mac based platforms
https://kodcloud.com
2.18k stars 373 forks source link

数据库更改为utf8mb4时出现的问题 #204

Closed jymusic0663 closed 1 year ago

jymusic0663 commented 1 year ago

如题,下方为sql更改代码。然后对应的IO::fileSubstr($path,$from,$length); fileSubstr估计也需要做调整,否则有一些需要用到字符串截取的可能会报错,位于data.bin加密文件内

出错信息:dialog方式打开的轻应用时
http code:200
出错了! (warning!)
curl error code=612;
系统错误
explorer/editor.class.php[73] IO::fileSubstr()
bin/data.bin[2]
ALTER TABLE `comment` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `comment_meta` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `comment_praise` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `group` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `group_meta` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_file` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_file_contents` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_file_meta` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_source` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_source_auth` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_source_event` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_source_history` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_source_meta` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_source_history` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `io_source_recycle` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `share` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `share_report` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `share_to` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `system_log` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `system_option` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `system_session` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `user` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `user_fav` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `user_group` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `user_meta` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
ALTER TABLE `user_option` CONVERT TO CHARACTER SET utf8mb4,COLLATE=utf8mb4_general_ci;
kalcaddle commented 1 year ago

考虑还有部分用户使用的mysql5.7以下版本,目前默认未使用utf8mb4; 关于中文截取乱码问题,可以使用utf8Repair 处理一下.