我已经从Tableau创建了一个到Vertica表的数据连接,并在行中有一个'surname1'字段。此字段在Vertica中以VARCHAR形式存在,如果执行SELECT,我可以在命令行中看到重音字符没问题。
问题是在Tableau中这些没有正确表示,我找不到任何方法来改变Tabelau中的字段编码来识别它们。
有人知道如何解决这个问题吗?
以下是在命令行中从Vertica中选择的示例,以及Tableau中显示的内容:
surname1
---------------
Mérida
Fernández
Villadóniga
Muñoz
López
提前致谢,
詹姆斯
答案 0 :(得分:2)
离开这个以防将来帮助任何人:
问题的原因是Vertica数据库是由MySQL数据库通过mysqli连接提供的。此连接字符编码配置为latin1 / 8859-1,而Vertica配置为utf-8。
然后问题进一步混乱,因为我用来从Windows访问Vertica的Putty窗口也在latin1 / 8859-1下配置,这有效地使得在utf-8下数据未正确存储在Vertica中这一事实是不可见的。
为了解决这个问题,我重新配置了使用utf-8编码的mysqli以及以下代码行:
$mysqli->set_charset("utf8");
注意,为了找出字符集首先是Latin1,我使用了以下内容:
echo $CMySQLI->character_set_name();
总之,如果您发现Tableau的重音字符问题并且您通过putty访问数据库,请确保在putty和DB之间对齐字符编码,以便不会以这种方式屏蔽错误。
此致
詹姆斯