Lots of unicode emojis being broken due to ZWJ being filtered out
I've been looking into an issue where quite a few Unicode emojis break down when being send in the chat. This seems can be observed on both the website as the mobile client, as well as in the chat client I'm working on. The root cause seems to be that the "Zero Width Joiner" character (200D in UTF-16 hex representation) gets filtered out somewhere inside the IRC system. This will cause for example the following emoji (🧑🤝🧑) to break down into (🧑🤝🧑)
This issue eventually results in 1329 of the 3512 emojis specified in Unicode 13.1 (https://www.unicode.org/Public/emoji/13.1/emoji-test.txt filtered on "fully-qualified") to break down when being send in chat.
-
kennethjohnson6534
commented
Yeah, this looks like classic ZWJ (U+200D) stripping somewhere in the pipeline, which breaks fully-qualified emoji sequences into separate components. You might want to check if any message sanitization or encoding layer is dropping it theresa scialla https://xxbrits.uk/theresa-scialla/ , especially around IRC relay/filter rules.
-
samsami6543
commented
This is a real issue and can be very frustrating for users. Filtering out the Zero Width Joiner breaks many modern combined emojis and makes messages look wrong. It would be great if the system preserved these characters so emojis display as intended across all clients.
-
lopiccoloson
commented
When dealing with emojis in your content, especially on platforms where Unicode characters are used, it's important to be mindful of how the Zero Width Joiner (ZWJ) character may be filtered out. This can lead to emojis displaying incorrectly, especially when they're meant to combine multiple symbols into one. For example, certain flag emojis or complex skin-tone combinations might not render as expected if the ZWJ is stripped. This issue is increasingly common across many platforms that use automated filters to improve text readability and prevent spamming. To avoid this, ensure that your emojis are supported and properly formatted by the platform. As an example, if you're managing parking services, like https://r2parking.net/, ensuring your content is compatible with Unicode standards will help maintain the integrity of the user experience.
-
williamaurthur
commented
It looks like the issue arises when the "Zero Width Joiner" (ZWJ) character is filtered out in your IRC system, causing combined emojis like 🧑🤝🧑 to break into separate ones (🧑🤝🧑). To resolve this:
Check IRC Server Configuration – Ensure that ZWJ isn’t being filtered or stripped during transmission.
Review Emoji Parsing Logic – Make sure both the server and client are properly handling multi-part emojis.
Ensure Proper Encoding – Confirm that your system supports full Unicode, including ZWJ.
Test Across Platforms – Verify consistency in rendering on both web and mobile clients.
If you need additional resources, you can explore tools and tips on https://aavot.co.in/, which may offer insights into handling advanced emoji rendering and Unicode compatibility. -
denvelsamit
commented
BlockBlastSolver is a tool designed to help players solve puzzles in the popular mobile game Block Blast. It uses algorithms to analyze the puzzle layout and provide step-by-step solutions, allowing users to efficiently progress through challenging levels. However, users may experience issues with certain Unicode emojis breaking due to the Zero Width Joiner (ZWJ) being filtered out. For more information, visit https://theblockblastsolver.com/