So how do we fix it? Seems that we need to change split_str function,
all we have to do is to
use CHAR_LENGTH()
and not
LENGTH().
There is a difference between those functions which you can read at
MySQL.com
website or just read the following quote:

Returns the length of the string "str", measured in characters. A
multi-byte character counts as a single character. This means that for
a string containing five two-byte
characters, "LENGTH()" returns "10",
whereas "CHAR_LENGTH()"returns "5".