elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.71k stars 8.12k forks source link

useByteOrderMarkEncoding option does not work in "download csv" menu. #188719

Open DJ-Kor opened 1 month ago

DJ-Kor commented 1 month ago

Kibana version: 8.11.1 Elasticsearch version: 8.11.1 Server OS version: ubuntu Browser version:

Browser OS version:

Original install method (e.g. download page, yum, from source, etc.): docker Describe the bug: my kibana.yml

xpack.reporting.enabled: true
xpack.reporting.encryptionKey: "something_secret_i_set"
xpack.reporting.csv.checkForFormulas: true
xpack.reporting.csv.escapeFormulaValues: true
xpack.reporting.csv.useByteOrderMarkEncoding: true

when I click share - CSV Reports - generate CSV, useByteOrderMarkEncoding option works.

BUT, when i click "download csv" anywhere in dashboard, useByteOrderMarkEncoding option does not works.

Steps to reproduce:

  1. go to any dashboard
  2. click "download csv" menu in any panel which has Korean
  3. output xlsx file is broken

Expected behavior: expected to be encoded in UTF-8 (BOM). not UTF-8 Any additional context: kibana_encoding

DJ-Kor commented 1 month ago

is there any improvement in newest version?

elasticmachine commented 1 month ago

Pinging @elastic/appex-sharedux (Team:SharedUX)

Dosant commented 1 month ago

I think the problem is that these are two different csv implementations and there might be inconsistencies between them. I think the workaround is, indeed, to "open in Discover" and generate csv from there.

I'll reassing to @elastic/kibana-visualizations team to take a look and the "Download CSV" from panel implementation

dej611 commented 1 month ago

Had a quick look at this issue and it's a specific Lens feature. Currently the reporting config is not easily accessible for Lens and this poses a challenge to fix this issue: I've tried to add the reporting plugin into Lens plugin but there's a plugin dependency cyclic issue. The download code could possibly be transferred to the reporting plugin in order to own the entire download feature, solving the issue. It's really just an action as most of the code already lives into the data plugin.

DJ-Kor commented 1 month ago

Thanks a lot for your reply.

So what Im trying to do is building my own custom kibana-docker. I cloned kibana code and changed every "useByteOrderMarkEncoding"value into TRUE. Can you help me building my own docker images?

im trying to do something with this Dockerfile. 8.11.4 Dockerfile RUN cd /tmp && \ curl --retry 8 -s -L \ --output kibana.tar.gz \ https://artifacts.elastic.co/downloads/kibana/kibana-8.11.4-linux-$(arch).tar.gz && \ cd -

if I change this part into my cloned kibana code, would it work?! Thank you in advance!

tsullivan commented 1 month ago

Hi @DJ-Kor I recommend asking the question on how to custom-build Kibana to https://discuss.elastic.co/c/elastic-stack/kibana/7

DJ-Kor commented 1 month ago

Thanks, I searched for some ways to build my own custom image but could not make it. 😂 so i made new topic again ! i made 5 topics before but i haven't got any answer in that community 🤣 hope to have one Building my own custom kibana docker image from source code