<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Shelon,<br>
      <br>
      I got another idea to check of the string is utf-8 already not
      checking the cherrypy's version, see the below:<br>
      <pre style="" class="lang-py prettyprint prettyprinted"><code><span class="pln"></span><span class="pun"></span><span class="pln"></span><span class="kwd"></span><span class="pln">
</span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
    res</span><span class="pun">.</span><span class="pln">decode</span><span class="pun">(</span><span class="str">'utf-8'</span><span class="pun">)
    </span></code><code><span class="pun">res.encode("utf-8")
    return res;
</span><span class="pln"> </span><span class="kwd">except</span><span class="pln"> </span><span class="typ">UnicodeDecodeError</span><span class="pun">:</span><span class="pln">
    return </span></code>res.encode("utf-8")

</pre>
      <br>
      2014/3/3 17:50, Sheldon:<br>
    </div>
    <blockquote cite="mid:5314505B.6020803@linux.vnet.ibm.com"
      type="cite">Now there's a issue:
      <br>
      <a class="moz-txt-link-freetext" href="https://github.com/kimchi-project/kimchi/issues/333">https://github.com/kimchi-project/kimchi/issues/333</a>
      <br>
      <br>
      The reason of this issue is because high level cherrpy version
      make some change about set_response.
      <br>
      <br>
      The high level cherrpy encode the unicode error message by itself.
      <br>
      <br>
      So the kimchi do not encode the unicode error message any more.
      <br>
      <br>
      It is right, the cherrpy should encode the unicode error message.
      <br>
      <br>
      Now we can require the cherrypy version to solve this problem.
      <br>
      <br>
      we can also check the cherrypy version in kimchi code as follow in
      order to avoid to require the cherrypy version.
      <br>
      <br>
      like:
      <br>
      if cherrypy.__version__ &lt;&lt; 3.2.5:
      <br>
      return res
      <br>
      else:
      <br>
      return res.encode("utf-8")
      <br>
      <br>
    </blockquote>
    <br>
  </body>
</html>