Broken URL in Notification Containing Plugins/Servlet/Undefined
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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
Summary
Symptoms
URLs in the Notification box take you to a "page not found" page but the URLs work if you remove plugins/servlet/undefined for example:
Wrong URL: http://company.com/confluence/plugins/servlet/undefined/display/SPACE/page
Correct URL: http://company.com/confluence/display/SPACE/page
The <Confluence Home>/logs/atlassian-confluence.log will contain a message similar to the following:
1
Caused by: java.sql.SQLException: Incorrect string value: '\xE7\xB2\x89\xE4\xB8\x9D...' for column 'BODY' at row 1
Diagnosis
Run the following query to check the database collation. If latin1 is returned, the collation will need to be changed.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT TABLE_SCHEMA,
TABLE_NAME,
CCSA.CHARACTER_SET_NAME AS DEFAULT_CHAR_SET,
COLUMN_NAME,
COLUMN_TYPE,
C.CHARACTER_SET_NAME, ENGINE
FROM information_schema.TABLES AS T
JOIN information_schema.COLUMNS AS C USING (TABLE_SCHEMA, TABLE_NAME)
JOIN information_schema.COLLATION_CHARACTER_SET_APPLICABILITY AS CCSA
ON (T.TABLE_COLLATION = CCSA.COLLATION_NAME)
WHERE TABLE_SCHEMA=SCHEMA()
AND C.DATA_TYPE IN ('enum', 'varchar', 'char', 'text', 'mediumtext', 'longtext')
ORDER BY TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME;
Cause
Latin1 collation does not support some special characters like emoji.
Solution
Resolution
Use native database tools to convert the database to utf8_bin collation.
Was this helpful?