Я только что решил очень похожую проблему. В моем случае я пытался вернуть знак валюты в Spring и отобразить его в шаблоне Thymeleaf.
public String getAmountDue() {
DecimalFormat decimalFormat = new DecimalFormat("¤0.00");
decimalFormat.setCurrency(this.currency);
String result = decimalFormat.format(amountDue);
return result;
}
Таким образом, это фактически возвращало правильно отформатированную строку, но не в браузере, например. €99.99
Я получил ?99.99
- поэтому вместо знака валюты отображался знак вопроса.
В конце концов, это была проблема с моей конфигурацией Spring, которую я решил, добавив characterEncoding
в свою конфигурацию:
<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
...
<property name="characterEncoding" value="UTF-8" />
</bean>