Any solution by now?
Generally the search works fine.
With umlaute the previously described "no results" occurs.
However, when you search for the word "möchten" but type "möchten" the search does get the results that contain the word.
I wonder how the data is stored in the database and if the query parameters need to convert characters to html entities before executing the query and also to convert back to correct HTML to get the umlaute issue solved?
Hint: I'm running SS 2.2.3
Executing the sql query "select id, content from SiteTree limit 10;" from shell (not phpMyAdmin) I get confirmed what was written before: the database contains plain HTML code:
<h4>Pflege ist Dienstleistung, </h4> <p>öde ist langweilig</p>
So I would need to convert the search term using htmlentities() before passing it to the query.
Here is what I did (and it's working):
changed line 76 in sapphire/search/SearchForm.php from
75 public function getResults($numPerPage = 10){
76 $keywords = $_REQUEST['Search'];
into
75 public function getResults($numPerPage = 10){
76 $keywords = htmlentities($_REQUEST['Search'], ENT_QUOTES, 'UTF-8');
For the results I used the following in Page_Results.ss template:
<!-- do some decoding here to display results with umlaute etc. correctly -->
<p>$Content.LimitWordCount</p>