Jira error "The character encoding [] is not supported." when loading some pages

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

Jira shows a 500 error code and displays the error message "The character encoding [XXXX] is not supported." when loading some pages.

Environment

Jira Data Center on any version from 9.0.0.

Diagnosis

Check the Jira application logs. If you can find the error below, this article is relevant:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 2024-07-16 02:18:35,039-0500 http-nio-8080-exec-169 url: /internal-error ERROR - [c.a.j.web.servlet.InternalServerErrorServlet] {errorId=e9dd6999-6e5c-4798-b775-3098aa8c305d, interpretedMsg=, cause=java.io.UnsupportedEncodingException: The character encoding [desc] is not supported, stacktrace=java.io.UnsupportedEncodingException: The character encoding [desc] is not supported at org.apache.tomcat.util.buf.B2CConverter.getCharset(B2CConverter.java:67) [tomcat-util.jar:9.0.88] at org.apache.catalina.connector.Request.setCharacterEncoding(Request.java:1540) [catalina.jar:9.0.88] at org.apache.catalina.connector.RequestFacade.setCharacterEncoding(RequestFacade.java:277) [catalina.jar:9.0.88] at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:36) [atlassian-core-8.0.1.jar:?] at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) [atlassian-core-8.0.1.jar:?] at com.atlassian.jira.web.filters.JiraStaticResourceAwareEncodingFilter.doFilterInternal(JiraStaticResourceAwareEncodingFilter.java:20) [classes/:?] at com.atlassian.jira.web.filters.AbstractStaticResourceAwareFilter.doFilter(AbstractStaticResourceAwareFilter.java:59) [classes/:?] at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) [atlassian-core-8.0.1.jar:?] at com.atlassian.jira.web.filters.PathMatchingEncodingFilter.doFilter(PathMatchingEncodingFilter.java:41) [classes/:?] at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) [atlassian-core-8.0.1.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169) [catalina.jar:9.0.88] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.88] at com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter.doFilter(MultipartBoundaryCheckFilter.java:36) [classes/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169) [catalina.jar:9.0.88] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.88] at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25) [classes/:?] at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) [atlassian-core-8.0.1.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169) [catalina.jar:9.0.88] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.88] at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:74) [classes/:?] at com.atlassian.jira.web.filters.JiraFirstFilter.doFilter(JiraFirstFilter.java:61) [classes/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169) [catalina.jar:9.0.88] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.88] at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:121) [atlassian-gzipfilter-3.0.2.jar:?] at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:92) [atlassian-gzipfilter-3.0.2.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169) [catalina.jar:9.0.88] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) [catalina.jar:9.0.88] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) [catalina.jar:9.0.88] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) [catalina.jar:9.0.88] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) [catalina.jar:9.0.88] at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:185) [catalina.jar:9.0.88] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) [catalina.jar:9.0.88] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) [catalina.jar:9.0.88] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.88] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) [catalina.jar:9.0.88] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) [catalina.jar:9.0.88] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) [tomcat-coyote.jar:9.0.88] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-coyote.jar:9.0.88] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) [tomcat-coyote.jar:9.0.88] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1786) [tomcat-coyote.jar:9.0.88] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) [tomcat-coyote.jar:9.0.88] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.88] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.88] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) [tomcat-util.jar:9.0.88] at java.base/java.lang.Thread.run(Thread.java:829) [?:?] , referer=Unknown, servletErrorMessage=}

Run the following SQL in the database to check the configured encoding:

1 select pe.*, ps.* from propertyentry pe, propertystring ps where property_key ilike '%encoding%' and pe.id = ps.id;
  • In a typical scenario, the anticipated output would be as follows:

    1 2 3 id | entity_name | entity_id | property_key | propertytype | id | propertyvalue ---------+-----------------+-----------+-----------------------+--------------+---------+--------------- 100002 | jira.properties | 1 | webwork.i18n.encoding | 5 | 100002 | UTF-8=
  • However, if you are facing the issue, the output of the above query would be:

    1 2 3 id | entity_name | entity_id | property_key | propertytype | id | propertyvalue ---------+-----------------+-----------+-----------------------+--------------+---------+--------------- 100002 | jira.properties | 1 | webwork.i18n.encoding | 5 | 100002 | desc

Cause

Due to a database refresh or update, an incorrect encoding was set for the property webwork.i18n.encoding, causing Jira to be unable to load the pages.

Solution

  • Run the following query to correct the encoding value:

    1 2 update propertystring set propertyvalue = 'UTF-8' where id = (select id from propertyentry where property_key = 'webwork.i18n.encoding')
  • Restart the environment to ensure data integrity and reflect the updated encoding value

Updated on March 10, 2025

Still need help?

The Atlassian Community is here for you.