Error importing from vanilla: invalid byte sequence in UTF-8

Sauf si le fichier est énorme, il est assez simple de le convertir en UTF-8 à l’aide du Bloc-notes Windows, si vous l’avez encore.

Je crois que Vanilla Porter vous donne un fichier au format .txt.gz. Vous devrez extraire le fichier de ce format compressé. Une fois que vous l’avez enregistré sous forme de fichier .txt, vous pouvez le convertir.

  1. Ouvrez le fichier .txt dans le Bloc-notes.
  2. Allez dans Fichier > Enregistrer sous et sélectionnez UTF-8 comme option d’encodage.
  3. Cliquez sur Enregistrer.

Si vous n’avez plus le Bloc-notes, ou si le fichier est trop volumineux pour le Bloc-notes, comme l’a mentionné @pfaffman, vous pouvez rechercher sur Google « convertir txt en UTF-8 » pour trouver des instructions qui fonctionneront avec les machines et les logiciels dont vous disposez.

4 « J'aime »

D’accord, cela a fonctionné. Mais maintenant, j’obtiens cette erreur :

script/import_scripts/vanilla.rb:98:in `import_users': undefined method `[]' for nil:NilClass (NoMethodError)

admin_role_id = @roles.select { |r| r[:name] == "Administrator" }.first[:role_id]
                                                                       ^^^^^^^^^^

Le premier utilisateur est l’administrateur dans la base de données.

C’est exactement l’erreur que j’obtenais avant de remarquer que je devais choisir Vanilla 2 dans le menu déroulant Source Forum Type. En laissant Vanilla 1 sélectionné, mon fichier d’exportation contenait des tables de données vides. Si vous avez sélectionné Vanilla 2, je crains de ne pas pouvoir offrir grand-chose de plus de mon expérience limitée avec une migration Vanilla. Peut-être que quelqu’un d’autre aura des idées.

Quelle version de Vanilla votre forum actuel utilise-t-il ?

5 « J'aime »

Vanilla Higher Logic est la version actuelle. J’ai récemment mis à niveau vers cette version. J’ai une sauvegarde de mon forum Vanilla v2.6. J’ai essayé d’importer depuis l’ancienne base de données, mais le problème persiste.

Pouvez-vous confirmer l’entrée UserRole pour Admin ?

@ddeveloper, je pense que la réponse est 16, mais je ne suis pas sûr de ce que vous demandez !
J’ai ajouté des exemples de données de mon fichier d’exportation ci-dessous, au cas où cela vous aiderait à voir les structures de table.

Données d'exportation

Voici ce que le fichier d’exportation liste pour la table UserRole, juste pour l’utilisateur System et moi (utilisateur 2) :

Table : UserRole
UserID:int,RoleID:int
"1","16"
"2","2"
"2","8"
"2","16"
"2","32"
"2","33"

Voici ce que mon fichier d’exportation liste pour la table Role :
Table : Role

RoleID:int,Name:varchar(100),Description:varchar(500),Sort:int,Deletable:tinyint,CanSession:tinyint,PersonalInfo:tinyint
"2","Guest","Les invités ne peuvent que consulter le contenu. Toute personne naviguant sur le site et qui n'est pas connectée est considérée comme un \"invité\".","2","0","0","0"
"3","Unconfirmed","Les utilisateurs doivent confirmer leur e-mail avant de devenir membres à part entière. Ils sont affectés à ce rôle.","3","0","1","0"
"4","Applicant","Les utilisateurs qui ont postulé pour devenir membres, mais qui n'ont pas encore été acceptés. Ils ont les mêmes permissions que les invités.","4","0","1","0"
"8","Member","Les membres peuvent participer aux discussions.","5","1","1","0"
"16","Administrator","Les administrateurs ont la permission de tout faire.","7","1","1","0"
"32","Moderator","Les modérateurs ont la permission de modifier la plupart du contenu.","6","1","1","0"
"33","Ambassador","Ancien ambassadeur dans la communauté d'origine","1","1","1","0"

Voici ce qu’il liste pour la table User - juste l’entrée System et moi. (Certaines informations ont été masquées, mais devraient toujours vous donner une idée de la structure de la table.)

Table : User
UserID:int,Name:varchar(50),Password:varbinary(100),HashMethod:varchar(10),Photo:varchar(255),Title:varchar(100),Location:varchar(100),About:text,Email:varchar(200),ShowEmail:tinyint,CountVisits:int,CountInvitations:int,CountNotifications:int,InviteUserID:int,DiscoveryText:text,Preferences:text,Permissions:text,Attributes:text,DateSetInvitations:datetime,DateOfBirth:datetime,DateFirstVisit:datetime,DateLastActive:datetime,LastIPAddress:varchar(15),DateInserted:datetime,InsertIPAddress:varchar(15),DateUpdated:datetime,UpdateIPAddress:varchar(15),HourOffset:int,Score:float,Admin:tinyint,Confirmed:tinyint,Verified:tinyint,Banned:tinyint,Deleted:tinyint,Points:int,CountUnreadConversations:int,CountDiscussions:int,CountUnreadDiscussions:int,CountComments:int,CountDrafts:int,CountBookmarks:int
"1","System","XXX","Random","https://XXX.com/applications/dashboard/design/images/usericon.png",\N,\N,\N,"system@stub.vanillacommunity.example","0","0","0","4",\N,\N,\N,"",\N,\N,\N,\N,\N,\N,"2022-11-18 03:39:35",\N,\N,\N,"0",\N,"2","1","0","0","0","0",\N,"1",\N,\N,\N,\N
"2","southpaw","XXX","Vanilla","userpics/QOZBY6BY3J3T/O8C563H2DWZV.jpg",\N,\N,\N,"XXX@gmail.com","0","258","0","24",\N,\N,"{\"DashboardNav.DashboardLandingPage\":\"Settings\"\, \"DashboardNav.SectionLandingPages\":{\"Settings\":\"/dashboard/settings/layout\"\, \"Moderation\":\"/dashboard/user\"}\,, \"DashboardNav.Collapsed\":[]\, \"Popup.WallComment\":\"1\"\, \"Popup.ActivityComment\":\"1\"\, \"Email.AnswerAccepted\":\"1\"\, \"Popup.AnswerAccepted\":\"1\"\, \"Email.QuestionAnswered\":\"1\"\, \"Popup.QuestionAnswered\":\"1\"\, \"Email.ConversationMessage\":\"1\"\, \"Popup.ConversationMessage\":\"1\"\, \"Email.BookmarkComment\":\"1\"\, \"Email.Mention\":\"1\"\, \"Email.ParticipateComment\":\"1\"\, \"Popup.DiscussionComment\":\"1\"\, \"Popup.BookmarkComment\":\"1\"\, \"Popup.Mention\":\"1\"\, \"Popup.ParticipateComment\":\"1\"}", "{\"0\":\"Garden.Email.View\"\, \"1\":\"Garden.Settings.Manage\"\, \"2\":\"Garden.Settings.View\"\, \"3\":\"Garden.SignIn.Allow\"\, \"4\":\"Garden.Users.Add\"\, \"5\":\"Garden.Users.Edit\"\, \"6\":\"Garden.Users.Delete\"\, \"7\":\"Garden.Users.Approve\"\, \"8\":\"Garden.Activity.Delete\"\, \"9\":\"Garden.Activity.View\"\, \"10\":\"Garden.Profiles.View\"\, \"11\":\"Garden.Profiles.Edit\"\, \"12\":\"Garden.Curation.Manage\"\, \"13\":\"Garden.Moderation.Manage\"\, \"14\":\"Garden.PersonalInfo.View\"\, \"15\":\"Garden.AdvancedNotifications.Allow\"\, \"16\":\"Garden.Community.Manage\"\, \"17\":\"Garden.Uploads.Add\"\, \"18\":\"Vanilla.Tagging.Add\"\, \"19\":\"Conversations.Conversations.Add\"\, \"20\":\"Plugins.Attachments.Upload.Allow\"\, \"21\":\"Reactions.Positive.Add\"\, \"22\":\"Reactions.Negative.Add\"\, \"23\":\"Reactions.Flag.Add\"\, \"24\":\"Vanilla.Discussions.View\"\, \"25\":\"Vanilla.Discussions.Add\"\, \"26\":\"Vanilla.Discussions.Edit\"\, \"27\":\"Vanilla.Discussions.Announce\"\, \"28\":\"Vanilla.Discussions.Sink\"\, \"29\":\"Vanilla.Discussions.Close\"\, \"30\":\"Vanilla.Discussions.Delete\"\, \"31\":\"Vanilla.Comments.Add\"\, \"32\":\"Vanilla.Comments.Edit\"\, \"33\":\"Vanilla.Comments.Delete\"\, \"Vanilla.Discussions.View\":[1\,2\,3\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Discussions.Add\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Discussions.Edit\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Discussions.Announce\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Discussions.Sink\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Discussions.Close\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Discussions.Delete\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Comments.Add\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Comments.Edit\":[1\,2\,4\,5\,6\,7\,8\,9]\, \"Vanilla.Comments.Delete\":[1\,2\,4\,5\,6\,7\,8\,9]}", "{\"TimeZone\":\"America/New_York\"\, \"LastLoginAttempt\":1687373198\, \"LoginRate\":1\, \"CheckedComments\":[]\, \"floodcontrol.profilecontroller.2.currentpostcount\":1\, \"\": \"2022-12-04 02:28:17\"\, \"CheckedDiscussions\":[]}",\N,"1975-09-16 00:00:00","2022-11-18 03:39:35","2023-07-17 01:06:51","A¾’²","2022-11-18 03:39:35","A¾’²","2023-07-11 03:36:17","A¾’²","-4",\N,"1","1","1","0","0","182","3","14",\N,"83","0",\N
3 « J'aime »

La seule différence que j’ai trouvée était la « casse ». Le script vanilla.rb n’accepte pas les lettres minuscules dans les noms de rôle.
Pour une raison quelconque, mon fichier d’exportation contenait des lettres minuscules dans les noms de rôle.
Maintenant, cette erreur est corrigée, mais il y a beaucoup d’autres erreurs avec lesquelles je dois composer avant de pouvoir migrer complètement :smiley:

Maintenant, je dois corriger le formatage de la date :

script/import_scripts/vanilla.rb:281:in `strptime': date invalide (Date::Error)

    DateTime.strptime(date, "%Y-%m-%d %H:%M:%S")

2 « J'aime »