When adding a comment that contains Unicode characters outside the BMP (e.g.- ⚔✏Ṣᴔᖲ⋂ၽ긄ְ㧁㸏㱠嫖㰾) JIRA throws the following error (Oops - an error has occurred):
It is IMPORTANT to note that this error may also crop up when the MySQL server and/or JIRA connection to it are mis-configured. In this case JIRA may also fail for characters in the Unicode BMP (see https://confluence.atlassian.com/display/JIRAKB/SQL+Exception+when+Entering%2C+Updating+or+Importing+an+Issue+in+JIRA+with+MySQL+Due+to+Encoding). In this case this issue does not apply and its just a configuration problem.
This problem only happens in MySQL environment. MySQL has a known limitation in that it is unable to store 4 byte UTF-8 characters in MySQL before 5.5.3. I think we should:
- Add a startup warning admins when JIRA connects to a MySQL database with these problems.
- Update the documentation of MySQL database configuration to indicate this problem.
- Sanatising the input so that this error does not occur when connected to MySQL before 5.5.3. This will probably be much harder than it sounds because JIRA can get input data from anywhere (e.g. CSV, E-Mail, HTTP, SOAP etc). We will probably have to choose our battles.
- Update out documentation to indicate this is the database that gets around this problem.
- Update the upgrade guide once we work out an upgrade path.