EZP-30481: Character "İ" causes publishing to fail with legacy search #2754
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
i
's. Turkish has dotted and dotless i's in both upper and lower case:İ i - I ı
. Case changes in PHP, and non-Turkish collation in the database, leads to errors in conversion between them. This in itself is a minor issue here.Fix
ezsearch_object_word_link
entry. This means the corresponding word is not found in searches, and it leaves inconsistencies in theezsearch_word
table, but those faults also existed before the fix.indexWords()
doesn't crash, and the words are searchable. (This makes the previous commit redundant, but I like it as a failsafe anyway, though it ought to have error logging.)TODO:
$ composer fix-cs
).