'Set the connection character set to charset. The character
set can only be changed in MySQL-4.1 and newer. If you try
to change the character set from the current value in an
older version, NotSupportedError will be raised.'

def set_character_set(self, charset):

    if (charset == 'utf8mb4'):
        py_charset = 'utf8'
    else:
        py_charset = charset
    if (self.character_set_name() != charset):
        try:
            super(Connection, self).set_character_set(charset)
        except AttributeError:
            if (self._server_version < (4, 1)):
                raise NotSupportedError('server    is    too    old    to    set    charset')
            self.query(('SET    NAMES    %s' % charset))
            self.store_result()
    self.string_decoder.charset = py_charset
    self.unicode_literal.charset = py_charset
