Links to attachments and pages that contains non-latin characters are randomly broken
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
Confluence contains pages and attachments that has non-latin characters in their title that can be accessed correctly from the sidebar or the Attachments page.
However, when having a link to these pages and attachments on a Confluence page, they appear to be broken.
- Upon clicking broken links to the page, they trigger
createpage.action
link and prompt users to create a new page with the same title. - Upon clicking broken links to the attachment, they trigger nothing and just returns back to the same page
Editing the page and adding the link again will show the correct link during the editing process.
Saving the page will show a broken link again. When hovered, the link is pointing to a createpage.action
link.
The pages and attachments affected by this issue may appear random.
Diagnosis
- Pages and attachments correctly exists and can be searched and accessed from Sidebar or Attachments list page.
- Clear plugin cache, rebuild indexing, rebuilding ancestor table does not fix the issue.
- Confluence is connected to PostgreSQL database
Cause
- Check Encoding, Collation and CType of the database used by Confluence
- The correct values should be:
- Encoding: UTF8
- Collation: en_US.UTF-8 (or any other ISO 15897 compatible unicode locale i.e. cs_CZ.UTF-8 for Czech and de_CH.UTF-8 for Swiss German)
- CType: en_US.UTF-8 (or any other ISO 15897 compatible unicode locale i.e. cs_CZ.UTF-8 for Czech and de_CH.UTF-8 for Swiss German)
- If you have different values for the mentioned parameters - your database is not configured correctly.
According to Configuring Database Character Encoding:
If LC_CTYPE is set to either "C" or "POSIX" then certain string functions such as converting to and from upper and lower case will not work correctly with international characters. Correct settings for this value take the form <LOCALE>.<ENCODING> (en_AU.UTF8 for example).
Resolution
In case of mismatch PostgreSQL collation, it needs to be fixed by either performing XML export-import, or by performing Database export-import.
Check in with the following documentation: How to fix the collation of a Postgres Confluence database