minor, fix query export garbled when results having Chinese


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/4dfcef31
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/4dfcef31
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/4dfcef31

Branch: refs/heads/2.1.x
Commit: 4dfcef31d877498d0d01c51d1f0175f199e2419d
Parents: e2e63bd
Author: Jiatao Tao <245915...@qq.com>
Authored: Mon Aug 21 02:07:08 2017 -0500
Committer: GitHub <nore...@github.com>
Committed: Mon Aug 21 02:07:08 2017 -0500

----------------------------------------------------------------------
 .../apache/kylin/rest/controller2/QueryControllerV2.java  | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/4dfcef31/server-base/src/main/java/org/apache/kylin/rest/controller2/QueryControllerV2.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/QueryControllerV2.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/QueryControllerV2.java
index 5809d6e..1aa72ba 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/QueryControllerV2.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/QueryControllerV2.java
@@ -19,6 +19,9 @@
 package org.apache.kylin.rest.controller2;
 
 import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
 import java.sql.SQLException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -159,7 +162,7 @@ public class QueryControllerV2 extends BasicController {
             "application/vnd.apache.kylin-v2+json" }, consumes = 
MediaType.APPLICATION_FORM_URLENCODED_VALUE)
     @ResponseBody
     public void downloadQueryResultV2(@PathVariable String format, SQLRequest 
sqlRequest,
-            HttpServletResponse response) {
+            HttpServletResponse response) throws IOException {
 
         SQLResponse result = queryService.doQueryWithCache(sqlRequest);
 
@@ -170,8 +173,11 @@ public class QueryControllerV2 extends BasicController {
         ICsvListWriter csvWriter = null;
 
         try {
-            csvWriter = new CsvListWriter(response.getWriter(), 
CsvPreference.STANDARD_PREFERENCE);
+            //Add a BOM for Excel
+            Writer writer = new OutputStreamWriter(response.getOutputStream(), 
StandardCharsets.UTF_8);
+            writer.write('\uFEFF');
 
+            csvWriter = new CsvListWriter(writer, 
CsvPreference.STANDARD_PREFERENCE);
             List<String> headerList = new ArrayList<String>();
 
             for (SelectedColumnMeta column : result.getColumnMetas()) {

Reply via email to