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()) {