JEX Import/Restore converted single quotation marks to question marks

After importing notes from a JEX file backup, I have lots of instances where single quotation marks have been replaced with question marks, but the replacement is not consistent. Some other non-alphanumeric characters have also been replaced by question marks. Can anyone shed light on a solution?

MORE DETAILS: About a month ago, I found that sync, using Joplin Cloud was not working well on my desktop version of Joplin (V2.11.11, deployed on Ubuntu 22.04), and there were error messages indicating a corrupt SQLite database. The solution I found and tried was to delete the Joplin profile, but this didn't work, so I exported all my notes from my Android app (V2.12.3) as a JEX file, and then imported that JEX file into a new profile on the desktop. This worked, even though it involved several hours of syncing notes. There was one problem: in many places, single quotation marks (typically used as apostrophes) were converted to question marks. Also, in some places, spaces and double quotation marks were also converted to question marks. There is at least one note where long dashes have also been replaced. Below are a couple of examples of the text from affected notes.

Although ?community? is a word that we use all the time, many people don?t know what it is or feel they have never experienced it. This became increasingly confusing as we used terms such as ?community accountability? or ?community responses to violence? and encouraged people to ?turn to their communities;? and this became even more complicated in dealing with intimate and sexual violence because the violence, harm and abuse was often coming from their ?community? because so many people are abused by someone they know.


Of course there?s such a thing as bad question!?A question is a good question if - by defintiion it must BE A QUESTION. It should in the interrogative mood or interrogative mode depending on who you role with. It should have the squiggly line at the end. It should start with one of the question words. Do not think that you can just take a statement and then raise the pitch at the end! That won?t trick us; we?ve been doing this for a long time. Or sometimes people will be like, ?Could it not be said that??, and then just say a statement and make the question mark sign in the air! That will not fool us at all!?.

Ther was a bug with exporting JEX on mobile.

Thanks @JackGruber . The issue I've experienced is consistent with issue described by the bug you referenced.

I'm now looking for a fix. I have a backup copy of the Joplin desktop profile from before I attempted the damaging fix. I expect that in spite of the corrupted SQLite database, I could extract virtually all of the notes. I'm hoping I can then selectively replace notes in my current desktop profile with notes from this backup profile, such that only notes not modified since that date are replaced. In this way, I'd return the bulk of my notes to their original (better) condition, while keeping notes I've updated/added since the damaging fix just as they are. Can anyone with experience in this sort of repair recommend a strategy to achieve this?

I have now repaired my Joplin notes using the strategy in my previous comment on this thread. It involved loading the archived profile as a second profile in my Joplin setup and then exporting the related notes as a JEX file. In case it helps someone else, the steps were:

  • Backup all current notes to a JEX file, just in case something goes wrong with this process (File>Export All>JEX)
  • Disable Sync to reduce sync attempts that will impede the following operations. Joplin will seek to sync so it might help to turn off the internet connection.
  • Create a 2nd profile in Joplin and practice switching between profiles to be sure which profile is active.
  • Identify the location of the 2nd profile folder on your system (in linux, it's typically something like ~/Joplin/joplin-desktop/profile-xxxxxxxx/
  • Close Joplin.
  • Replace contents of 2nd profile folder with the contents of the profile backup.
  • Restart Joplin and switch between profiles to load up this updated 2nd profile.
  • Use File>Export All>JEX to export contents of the 2nd profile as a JEX file.
  • Switch to the original profile.
  • Use File>Import>JEX to import the JEX file into the original profile. Note there will be duplicate folder names so Joplin will put a "(1)" at the end of folder names for the imported folders.
  • Compare, move and delete notes to recreate the desired set of uncorrupted notes in the original profile.
  • Delete 2nd profile by closing Joplin, deleting the folder with the 2nd profile data ~/Joplin/joplin-desktop/profile-xxxxxxxx/ and deleting the file ~/Joplin/joplin-desktop/profiles.json
  • Restart Joplin.
  • Re-enable sync
  • Done!