页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

(此文档仅供参考)

...

问题

...

数据集里面通过sql给数值加单位m³,之后保存,再次打开变成m?

...

,或者图形里面设置坐标轴名称m³,之后保存,再次打开有时候会变成m?,有时候是正常的

Image ModifiedImage Modified

...

解决方案:

 

1. 知识库编码不支持这种特殊符号,(设置好之后,这个m³要存到知识库里面去)

2. 知识库需要选择支持这种特殊符号的编码,

    注:我们知识库配置只能选择gbk和utf8编码 可能要用jndi配置数据源(在配置界面,知识库的配置可以选择gbk和utf8,但是之后数据源的配置需要用jndi配置,参考此文档:https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=35751470  ) 

 

Viewtracker

...


原因分析

知识库使用的字符集编码不支持保存这种特殊符号,设置的时候正常是因为字符是从缓存中读取的,但是设置好之后,m³字符要持久化存储到知识库表中,由于知识库的编码(如GBK)不支持特殊字符,“³”字符入库后的数据已经是"?"了,当系统读取不到缓存,需要重新从知识库通过SQL查询,查出来的数据就包含有"?",因此界面之前设置的“³”就会变成“?”。

验证方法

关闭资源后点击smartbi中的清空缓存,重新打开资源查看之前设置字符“³”的位置,如果显示的是“?”,则说明知识库不支持该字符。

扩展

常见的GBK编码不支持的字符:

1、数字上标(如²、³)

2、‱

3、©

4、各种emoji表情符号

解决方案

需要支持正常存储这类特殊符号的知识库(存入后能正常select查询出不乱码的字符),比如mysql数据库可以使用utf8mb4编码(config界面编码仍然选择UTF-8,utf8mb4编码支持的字符比utf8更多),也就是对于mysql的知识库,需要新建一个使用utf8mb4编码的库,然后空库升级恢复知识库再去修改设置。


Viewtracker