Skip to main content

求助:Windows上9.3版TableauServer上数据迁移到linux上10.5.0版TableauServer上报错。

将Windows上9.3版TableauServer备份好的*.tsbak文件,在linux上10.5.0版TableauServer还原时报错。

报错提示:tsbak 文件是使用除 UTF-8 之外的其他字符集生成的。请解包此文件并使用 UTF-8 重新创建它。

希望得到帮助,万分感谢。

7 件の回答
  1. 2018年9月20日 13:04

    中文社区正经的第一个问题,我很认真地研究了一番,过程很抓狂就不说了,只说结果:

    1. 这个问题的答案已经在报错信息之中了。在Windows上创建的tsbak文件不是用utf-8编码的,在Linux上不认。所以需要把这个tsbak文件变成utf-8编码的。可是为什么需要这样做?

    2. 有一种说法是Windows上默认的zip格式文件(tsbak本质就是zip文件)压缩时使用gbkxxxx字符集的,而Linux上默认是utf-8,所以存在差异,会导致压缩包中的中文(或者其他非英文)文件名称出现乱码。

    3. 在windows 的tableau server上执行备份命令时有没有参数选项将生成的tsbak文件用utf-8编码?答案是:没有。Really?

    4. 那么如何将不是utf-8的tsbak文件改成utf-8呢?在Tableau官网,以及某度找了很久没找到方法,但是Tableau官网的一篇知识库文章给了一些启发:

    尝试还原 Tableau Server 备份时出现错误“Exception during sos data restore: javal.lang.IllegalArgumentExcelption: MALFORMED” | Tablea…  不显示链接地址,直接点击这个蓝色链接名称就可以了,这个也是说的是tableau server备份恢复失败的问题,里面说用7z重新压缩tsbak文件,请参考文中的步骤。

    5. 但是知识库中并没有说明怎样加上字符集utf-8的设置,我下载了几个能压缩zip的小软件,在界面设置上都没有地方可以设置压缩包用的字符集。抓狂。

    6. 后来想到7z有命令行,没准命令行中有参数设置呢?后来搜索一番,果然发现了这篇:7Z命令行详解 - CSDN博客  ,其中有一个命令参数是

     

      -scc{UTF-8|WIN|DOS} : set charset for for console input/output

     

    可以尝试一下? 再说几件抓狂的事:1. 用中文的报错信息搜索官网,没有搜到任何有价值的东西。我想如果是英文的报错信息,也许就能搜到精准答案也未可知,但是很难知道英文报错信息是什么样的。中文知识库还不够丰富,这也是为什么要启用这个中文社区的目的。2. 某度以及各种国产的搜索引擎,搜点正经用的东西真的很难,搜出来的都是乱七八糟,大海捞针一般。“用utf-8创建zip文件”算是很偏门的问题吗?搜索结果没有什么有价值的信息。3. 虽然使用公司的魏屁恩,比较科学地上网,但是仍然不能使用gooooooogle。
0/9000