Documentation for JIRA 6.4 (This documentation includes the project navigation sidebar). Not using this? See below:
(JIRA 6.4 without sidebar documentation | JIRA 6.3.x documentation | JIRA Cloud documentation | earlier versions of JIRA)

Skip to end of metadata
Go to start of metadata

JIRA 3.1 and above should not suffer from this problem unless migrating to postgreSQL from another database such as MySQL. Invalid characters otherwise are automatically stripped from imported data.

In older versions of JIRA it was possible to cut & paste text containing control characters into JIRA issue fields. This causes problems, because JIRA's backup format is XML, and XML does not allow for the storage of most control characters.When XML containing control characters is imported into JIRA, the import fails with an error:

To fix this, the control characters will need to be removed from the JIRA backup file. This can be done with the following:

  1. Download atlassian-xml-cleaner-0.1.jar
  2. Open a command prompt and locate the XML or ZIP backup file on your computer, ensuring that it is extracted if it's within a ZIP file. In this example, we will use entities.xml.
  3. Run the application with the below:

    $ java -jar atlassian-xml-cleaner-0.1.jar entities.xml > entities-clean.xml

    This will create a copy of entities.xml as entities-clean.xml with the invalid characters removed. 

  4. Copy the entities-clean.xml file into another directory, rename it back to entities.xml and create a new ZIP with and the activeobjects.xml file.
  5. Import the new ZIP file, ensuring that it contains both XML files.

If you are seeing an error specifically with 0xffff as the affected character, please use this perl command to fix the file:

And if experiencing the error with 0xfffe, use the below perl command:

  • No labels

11 Comments

  1. This XML cleaner doesn't strip <ffff> characters. If, after running this XML cleaner you may still get the error:

    An invalid XML character (Unicode: 0xffff) was found in the CDATA section.

    On my system I was able to fix this with:

    perl -i -pe 's/\xef\xbf\xbf//g' entities.xml

    Note perl doesn't allow \x{FFFF} in regexps so you have to break it into bytes as above.

    1. You may also run into the following error:

      An invalid XML character (Unicode: 0xfffe) was found in the CDATA section.

      Altering the above script to "perl -i -pe 's/\xef\xbf\xbe//g' entities-clean.xml" and running it again will remove these characters.

  2. I also faced that XML cleaner leaves invalid characters in the XML backup. Since it is not developed any further, it won't be fixed. Another method for the cleaning:

    • create the export.zip
    • create a test JIRA environment
    • import the export.zip into the test JIRA
    • log into the test JIRA, create an export.zip again, it will be clean, now you can run the anonymizer

  3. You can Use Notepad++ to clean them out (if file is not too big) using \uffff Search and Replace

  4. "JIRA 3.1 and above should not suffer from this problem. Invalid characters are automatically stripped from imported data"


    That's not necessarily true. We're coming from a MySQL backed instance that's moving to Postgresql and we had to pipe the XML through this filter.

    1. Same going from Oracle to Postgresql.

      1. And Oracle to MySQL. :/

  5. The cleaner does not work for us, also removed with Notepad++ and we still have the same error. Opened a ticket with support, will report back once its resolved.

    1. Hi Adam, did you get a resolution on this? I've also had no success stripping the invalid character with either perl or notepad++. I'd appreciate any update on what you've done to resolve this.

      1. Support ended up sorting this out for us, they took a copy of our DB and removed all of the invalid characters.

        1. jesus. I am so NOT looking forward to when you can no longer comment on these pages. I swear (yea, too much) that I've found more fixes here than anywhere else ( for the edgy things encountered by the hallowed few )