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/8906d133
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/8906d133
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/8906d133

Branch: refs/heads/master
Commit: 8906d133f430254ed4a8c1f6f7b989b0c4ca2c09
Parents: 1c8de93
Author: Jiatao Tao <245915...@qq.com>
Authored: Mon Aug 21 02:08:08 2017 -0500
Committer: GitHub <nore...@github.com>
Committed: Mon Aug 21 02:08: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/8906d133/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