Unable to search knowledge articles by using non-latin words in the Customer Portal or the agent view
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
After connecting Service Management to Confluence and setting up a knowledge based article, users are able to search for Confluence articles directly in the Customer Portal. Searching for Latin characters work fine from the Customer Portal (or the Agent view), but searching for non-Latin characters doesn't work.
For example, let's assume that there is a Confluence page (=knowledge base article) containing тест and that users try to search for тест from the Customer Portal or the agent view:
Expected behavior
- When searching for тест from the Customer Portal, the knowledge base article should be found:
- When searching for тест from the Agent view, the KB article should be found using either method below:
- By going to More > Link > Confluence Page > search for a page
- Or by clicking on Search knowledge base from the panel Related knowledge base articles
- By going to More > Link > Confluence Page > search for a page
Observed behavior
- When searching for тест from the Customer Portal, the article is not found:
- When searching for тест from the Agent view:
By going to More > Link > Confluence Page > search for a page, the article is not found and the following error is thrown:
The Jira server could not be contacted. This may be a temporary glitch or the server may be down.
- By clicking on Search knowledge base from the panel Related knowledge base articles, the article is not found:
Furthermore, if a Service Management request contains the word тест in it summary, the panel Related knowledge base articles will automatically try to search for this word in the Confluence space, and will fail with the following error. Note that this error and its root cause is also addressed in the knowledge base article Error "Failed to send request to the knowledge base server."
Failed to send request to the knowledge base server.
Cause
Both useBodyEncodingForURI="true" and URIEncoding="UTF-8" are applied in same connector in the server.xml file of the Confluence application.
These are not meant to be used together as per the explanation in https://tomcat.apache.org/tomcat-7.0-doc/config/http.html for useBodyEncodingForURI
Notes: 1) This setting is applied only to the query string of a request. Unlike URIEncoding it does not affect the path portion of a request URI. 2) If request character encoding is not known (is not provided by a browser and is not set by SetCharacterEncodingFilter or a similar filter using Request.setCharacterEncoding method), the default encoding is always "ISO-8859-1". The URIEncoding setting has no effect on this default.
Resolution
- Remove useBodyEncodingForURI="true" from the
server.xml
of the Confluence application - Restart the Confluence application