add support of utf8mb4 encoding

utf8 only supports 3 bytes of character encoding. To support the full 4 bytes, you need to use utf8mb4.