[Help]UnicodeDecodeError

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Karl

    #1

    [Help]UnicodeDecodeError

    error msg:
    Mod_python error: "PythonHand ler mod_python.publ isher"

    Traceback (most recent call last):

    File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line
    299, in HandlerDispatch
    result = object(req)

    File "/usr/lib/python2.3/site-packages/mod_python/publisher.py",
    line 136, in handler
    result = util.apply_fs_d ata(object, req.form, req=req)

    File "/usr/lib/python2.3/site-packages/mod_python/util.py", line
    361, in apply_fs_data
    return object(**args)

    File "/var/www/html/sky.py", line 38, in main
    sresult = sresult.decode( 'zh-hk').encode('ut f_8')

    UnicodeDecodeEr ror: 'big5hkscs' codec can't decode bytes in position
    958-959: illegal multibyte sequence


    Wt can I do, since there is some characters, is there any solutions to
    solve it???

    thx

  • Peter Otten

    #2
    Re: [Help]UnicodeDecodeEr ror

    Karl wrote:
    error msg:
    Mod_python error: "PythonHand ler mod_python.publ isher"
    >
    Traceback (most recent call last):
    >
    File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line
    299, in HandlerDispatch
    result = object(req)
    >
    File "/usr/lib/python2.3/site-packages/mod_python/publisher.py",
    line 136, in handler
    result = util.apply_fs_d ata(object, req.form, req=req)
    >
    File "/usr/lib/python2.3/site-packages/mod_python/util.py", line
    361, in apply_fs_data
    return object(**args)
    >
    File "/var/www/html/sky.py", line 38, in main
    sresult = sresult.decode( 'zh-hk').encode('ut f_8')
    >
    UnicodeDecodeEr ror: 'big5hkscs' codec can't decode bytes in position
    958-959: illegal multibyte sequence
    >
    >
    Wt can I do, since there is some characters, is there any solutions to
    solve it???
    Other than requiring valid input?
    You can choose a more lenient decoding strategy, e. g.:

    sresult = sresult.decode( 'zh-hk', "replace")
    >>help(s.decode )
    Help on built-in function decode:

    decode(...)
    S.decode([encoding[,errors]]) -object

    Decodes S using the codec registered for encoding. encoding defaults
    to the default encoding. errors may be given to set a different error
    handling scheme. Default is 'strict' meaning that encoding errors raise
    a UnicodeDecodeEr ror. Other possible values are 'ignore' and 'replace'
    as well as any other name registerd with codecs.register _error that is
    able to handle UnicodeDecodeEr rors.

    Peter

    Comment

    Working...