Отображать китайские иероглифы как они есть из файла скорости
Мы используем инфраструктуру Apache Velocity для хранения формата шаблона электронной почты в файлах.vm. Эти электронные письма содержат китайские иероглифы. При извлечении в Java и отображении в виде строки китайские символы становятся знаками вопроса.
Мы используем этот код для извлечения содержимого в строку
VelocityEngine engine = new VelocityEngine();
engine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
engine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
engine.init();
VelocityContext context = new VelocityContext();
context.put("params", params);
StringWriter writer = new StringWriter();
Template template = engine.getTemplate("testfile.vm","UTF-8");
template.merge(context, writer);
String message = writer.toString();
System.out.println(message);
Что если мы хотим увидеть действительные китайские иероглифы в System.out?
PS: Это отличается от других тем, потому что строка ниже не работает для меня.
Template template = Velocity.getTemplate("testfile.vm", "UTF-8");
Китайские иероглифы по-прежнему превращаются в знаки вопроса при печати, несмотря на добавление "UTF-8"