Unexpected doubleEncoded url for signed embed

Hey there,

I need to pass a value as the default value for a filter widget on my dashboard. The name of the widget is "开始日期" (Chinese chars). And the correct encoded string should be "%E5%BC%80%E5%A7%8B%E6%97%A5%E6%9C%9F", which is the exact what I put in the url. The value is not passed successfully, although the webpage is loaded. I manually pick a value for that filter widget and I found the encoded url string generated by the system for that widget is "%25E5%25BC%2580%25E5%25A7%258B%25E6%2597%25A5%25E6%259C%259F", which appears to be a double-encoded string for "开始日期", the filter name.

Can you please help confirm whether this is a expected behavior?


That actually translates to the encoded string 开始日期

Are you passing 开始日期 in your filter widget or you are passing %E5%BC%80%E5%A7%8B%E6%97%A5%E6%9C%9F directly? Since the way I see it metabase is just encoding %E5%BC%80%E5%A7%8B%E6%97%A5%E6%9C%9F like it is finding that string as part of the URL

The string I pass in the signed embed dashaboard url is "%E5%BC%80%E5%A7%8B%E6%97%A5%E6%9C%9F" which Metabase doesn't translate to "开始日期".

On the user interface, I manually pick a value on the "开始日期" filter widget and I found the string generated by the system is "%25E5%25BC%2580%25E5%25A7%258B%25E6%2597%25A5%25E6%259C%259F".

The encoded value for "开始日期" is "%E5%BC%80%E5%A7%8B%E6%97%A5%E6%9C%9F" (what I pass); the encoded value for "%E5%BC%80%E5%A7%8B%E6%97%A5%E6%9C%9F" is "%25E5%25BC%2580%25E5%25A7%258B%25E6%2597%25A5%25E6%259C%259F" (what Metabase generates). See screenshots below. Hence, I think Metabase double-encode the filter name.