Change record status: 
Project: 
Introduced in branch: 
8.0.x
Introduced in version: 
8.0.x
Description: 

Prior to this change, if you used the core Search module to index/search text with accented letters, such as ç and è, you could search using either ç and è or the unaccented c and e, and get the same results -- this is what most people would expect.

However, this behavior was dependent on database collation settings -- basically, this was working because with the default collation, MySQL treats ç as being equal to c (etc.) -- but if you used different collation settings, you might not get this result. So it was not guaranteed behavior.

In addition, because PHP doesn't consider ç equal to c (etc.), although you'd get the right nodes in the results, the highlighting functionality wasn't working. That is, normally Search highlights your search terms in search results, but in this case if you searched using the unaccented letters and the text was accented, your terms would not be highlighted because they wouldn't match in PHP.

The solution implemented in this issue was to remove accents (or more generally, diacritical marks) from letters during the "search simplify" process. This means that text with ç, è, and other accented letters would be transformed to having c, e, etc. before it is added to the search index in the database. And then while searching, the same "simplify" transforms are always applied to the submitted search terms. Therefore, the search terms and index will match, no matter what the database collation is, and because Search is able to highlight search terms that are transformed via the "simplify" process, search terms will be highlighted no matter whether you searched with or without accents, and no matter whether the text contained accented or non-accented letters.

So, the only thing that actually changed in the Search module was the search_simplify() function, which has one line added to remove accents as part of the simplification process. No changes should be needed by module developers or site builders, but this is a change to how Search behaves.

Impacts: 
Site builders, administrators, editors
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done