'Returns a copy with all keys and values de- or recoded to match
:attr:`input_encoding`. Some libraries (e.g. WTForms) want a
unicode dictionary.'

def decode(self, encoding=None):

    copy = FormsDict()
    enc = copy.input_encoding = (encoding or self.input_encoding)
    copy.recode_unicode = False
    for (key, value) in self.allitems():
        copy.append(self._fix(key, enc), self._fix(value, enc))
    return copy
