def METHOD_NAME(value, encoding='utf-8'):
    # In python2, unquote() gives us a string back that has the urldecoded
    # bits, but not the unicode parts.  We need to decode this manually.
    # unquote has special logic in which if it receives a unicode object it
    # will decode it to latin1.  This is hard coded.  To avoid this, we'll
    # encode the string with the passed in encoding before trying to
    # unquote it.
    byte_string = value.encode(encoding)
    return unquote_plus(byte_string).decode(encoding)