I believe that your issue has to do with the PHP version you are using. Upgrade to PHP 7.1 or 7.2 to resolve this issue.
The anti-spam bad words feature works through
regular expressions. Regular Expressions need to be compiled and run against some text, returning matches (or signalling the complete lack thereof). All programming languages which support them, such as PHP, use a third party library to handle that bit. In the case og PHP, that's
PCRE (Perl Compatible Regular Expressions).
There are two major versions of PCRE. The first version was originally released in 1997, that's over 20 years ago. The new version was released in 2015. The old version does not support some extended Unicode characters, like some of the Chinese glyphs your pasted, whereas the new one does.
PHP 5.4 is truly ancient. It was
first released in 2012 and its very last version came out in
September 3rd, 2015. As such, predating PCRE2 for more than two years, it uses the original PCRE version which does NOT properly support extended Unicode. PCRE2 was only added to PHP in PHP 7.0.
Which brings us back to your issue. We cannot reproduce it with any version of PHP 7. This tells us that the problem is not a bug in our code but rather the use of the very old PCRE in PHP 5.x versions. PHP 7 versions using PCRE2 work fine. Therefore, you just need to update the PHP version running on your site. There's nothing else anyone can do about it.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!