We're updating the issue view to help you get more done. 

Cannot search special characters like ß in Name

Description

Hi, trying to search a product by Name with ß in the search string doesn't work.

Found the issue is caused by the difference between postgresql UPPER vs java toUpperCase function.

  • Name = Faß

  • postgresql -> SELECT UPPER(Name) = FAß

  • java -> "Faß%".toUpperCase = FASS%

A possible solution can be to use LOWER instead of UPPER - but maybe that could affect other languages?

Also, noticed that the default Locale is not set according to the login language, but the client computer.
the following patch could solve that problem:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 diff -r 1a13f737c3b0 org.adempiere.base/src/org/compiere/util/Login.java --- a/org.adempiere.base/src/org/compiere/util/Login.java Wed Dec 27 15:59:07 2017 +0100 +++ b/org.adempiere.base/src/org/compiere/util/Login.java Fri Dec 29 15:57:01 2017 +0100 @@ -773,6 +773,14 @@ if (AD_Client_ID != 0 && MSysConfig.getBooleanValue(MSysConfig.SYSTEM_IN_MAINTENANCE_MODE, false, AD_Client_ID)) return Msg.getMsg(m_ctx, "SystemInMaintenance"); } + + // Language + String langName = Env.getAD_Language(m_ctx); + Language language = Language.getLanguage(langName); + Language.setLoginLanguage(language); + Env.verifyLanguage (m_ctx, language); + Locale loc = language.getLocale(); + Locale.setDefault(loc); return null; } // validateLogin

Environment

None

Status

Assignee

Carlos Ruiz

Reporter

Carlos Ruiz

Labels

None

Tested By

None

Priority

Major