heyang wang created ZEPPELIN-2641:
-------------------------------------

             Summary: Livy interpreter doesn't support Chinese encoding 
                 Key: ZEPPELIN-2641
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-2641
             Project: Zeppelin
          Issue Type: Bug
          Components: livy-interpreter
    Affects Versions: 0.7.1, 0.8.0
            Reporter: heyang wang
            Priority: Critical


When using Livy to interact with spark. Spark sql with Chinese character always 
return empty result.

The reason is because Zeppelin use restTemplate.java from  spring frame work. 
When sending restful request to Livy, the headers is defined as 
Content-Type:application/json. This setting doesn't specify the encoding of the 
charset and spring will use ISO-8895-1 by default. But ISO-8895-1 isn't 
compatible with Chinese. The code Livy receive from Zeppelin contain invalid 
Chinese encoding and will be interpret by spark as ?.

Change header from  application/json to MediaType.APPLICATION_JSON_UTF8_VALUE 
in BaseLivyInterpreter.java and rebuild can solve this problem.

It seems encoding problem affect more than Chinese since ISO-8895-1's coverage 
is restricted. I think update the encoding to UTF-8 would be helpful.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to