こんにちは!
3 年前に phpBB から最初の古いフォーラムをインポートして以来、今回は 18 万人のメンバーと 160 万件のメッセージを持つ、より大規模なフォーラム(vBulletin5 使用)の管理者が、Discourse への移行を決心してくれたことを嬉しく思います。![]()
インポートはユーザー番号 71712 まで正常に進みましたが、ウェブサイト欄に無効な文字が含まれていたことが原因で停止しました。
問題となったデータは以下の通りです:
:website=>"http://url-redacted.com - æåñòêîå ïîðíî ñìîòðåòü îíëàéí",
発生した 2 つのエラーメッセージは以下の通りです:
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 のデフォルト設定通り、添付ファイルもデータベース内に保存されています。これらはインポートされるのでしょうか、それとも別フィールドとして保存しておく必要があるのでしょうか?