Avoid invalid UTF-8 characters breaking json_encode by applying JSON_INVALID_UTF8_SUBSTITUTE flag (#15796) #16025
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.
What does it do?
Add the JSON_INVALID_UTF8_SUBSTITUTE flag to any json_encode usage in the core that may contain user-defined content that could through some issue contain invalid UTF-8 characters.
The most important change is in the Processor class, which basically applies the fix to any standard processor.
Why is it needed?
When encountering invalid characters, rather than breaking entirely, substitute the invalid characters with the boxed question mark. Avoids manager-breaking javascript errors.
How to test
Ensure changed processors/controllers continue to work as expected. Make sure I didn't accidentally put a comma in the wrong place.
Related issue(s)/PR(s)
Fixes #15796