Since 1.9 a few problems have appeared within the client - notably freezes when invalid UTF-8 characters are found on signs. This is problematic because there are various entry points for arbitrary text modification within PocketMine-MP which are not checked for encoding validity and can be used to break the client.
In addition, I suspect (but have not yet confirmed) that TextFormat::clean() can turn valid UTF-8 text into broken gibberish, because the regex replacements in there are not unicode-safe.
Issue description
Since 1.9 a few problems have appeared within the client - notably freezes when invalid UTF-8 characters are found on signs. This is problematic because there are various entry points for arbitrary text modification within PocketMine-MP which are not checked for encoding validity and can be used to break the client.
In addition, I suspect (but have not yet confirmed) that
TextFormat::clean()
can turn valid UTF-8 text into broken gibberish, because the regex replacements in there are not unicode-safe.