大家好!
在三年前成功从 phpBB 导入我的第一个旧论坛后,我很高兴能激励一位国际社区论坛管理员将另一个更大的论坛(18 万成员,160 万条消息)迁移到 Discourse。![]()
该论坛使用的是 vBulletin5。
导入过程一直顺利,直到处理到第 71712 号用户,原因是网站字段中包含无效字符:
:website=>"http://url-redacted.com - æåñòêîå ïîðíî ñìîòðåòü îíëàéí",
随后出现了两条错误信息:
1: from /usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/rfc3986_parser.rb:73:in `parse' /usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/rfc3986_parser.rb:21:in `split': URI must be ascii only "http://url-redacted.com - \u00E6\u00E5\u00F1\u00F2\u00EA\u00EE\u00E5 \u00EF\u00EE\u00F0\u00ED\u00EE \u00F1\u00EC\u00EE\u00F2\u00F0\u00E5\u00F2\u00FC \u00EE\u00ED\u00EB\u00E0\u00E9\u00ED" (URI::InvalidURIError)
以及:
1: from /usr/local/rvm/gems/ruby-2.6.5/gems/addressable-2.7.0/lib/addressable/uri.rb:2394:in `defer_validation' /usr/local/rvm/gems/ruby-2.6.5/gems/addressable-2.7.0/lib/addressable/uri.rb:2475:in `validate': Invalid character in host: 'url-redacted.com.com - æåñòêîå ïîðíî ñìîòðåòü îíëàéí' (Addressable::URI::InvalidURIError)
既然 URL“必须仅为 ASCII 字符”,是否可以考虑直接移除或清理该字段的内容,而不是抛出错误并停止脚本?![]()
我打算在再次尝试导入之前,先从数据库中删除该用户。
另外,我还有一个问题。头像存储在数据库中,并且已成功导入。
那么附件呢? 在我的情况下,它们也默认存储在数据库中(这是 vBulletin 的默认设置)。它们会被自动导入吗?还是需要将它们存储为单独的字段?